systemd systeembeheerder release 242

[:ru]

Na twee maanden ontwikkeling ingediend systeembeheerder release systemd 242. Onder de innovaties kunnen we ondersteuning voor L2TP-tunnels opmerken, de mogelijkheid om het gedrag van systemd-logind bij opnieuw opstarten te controleren via omgevingsvariabelen, ondersteuning voor uitgebreide XBOOTLDR-opstartpartities voor het mounten van /boot, de mogelijkheid om op te starten met een rootpartitie in overlayfs, evenals een groot aantal nieuwe instellingen voor verschillende soorten eenheden.

Grote veranderingen:

  • systemd-networkd biedt ondersteuning voor L2TP-tunnels;
  • sd-boot en bootctl bieden ondersteuning voor XBOOTLDR-partities (Extended Boot Loader) die zijn ontworpen om op /boot te worden gemonteerd, naast ESP-partities die op /efi of /boot/efi zijn gemonteerd. Kernels, instellingen, initrd- en EFI-images kunnen nu worden opgestart vanaf zowel ESP- als XBOOTLDR-partities. Deze wijziging maakt het mogelijk om de sd-boot bootloader in meer conservatieve scenario's te gebruiken, wanneer de bootloader zelf zich in de ESP bevindt en de geladen kernels en bijbehorende metadata in een aparte sectie worden geplaatst;
  • De mogelijkheid toegevoegd om op te starten met de “systemd.volatile=overlay” optie doorgegeven aan de kernel, waardoor je de rootpartitie in overlayfs kunt plaatsen en het werk kunt organiseren bovenop een alleen-lezen afbeelding van de rootmap met wijzigingen geschreven naar een aparte map in tmpfs (wijzigingen in deze configuratie gaan verloren na een herstart) . Naar analogie heeft systemd-nspawn de optie “--volatile=overlay” toegevoegd om vergelijkbare functionaliteit in containers te gebruiken;
  • systemd-nspawn heeft de optie "--oci-bundle" toegevoegd om het gebruik van runtimebundels mogelijk te maken om geïsoleerde lancering van containers mogelijk te maken die voldoen aan de Open Container Initiative (OCI) -specificatie. Voor gebruik in de opdrachtregel- en nspawn-eenheden wordt ondersteuning voorgesteld voor verschillende opties beschreven in de OCI-specificatie. Zo kunnen de opties “--inaccessible” en “Inaccessible” worden gebruikt om delen van het bestandssysteem uit te sluiten, en de optie “ --console”-opties zijn toegevoegd om standaarduitvoerstromen en "-pipe" te configureren;
  • De mogelijkheid toegevoegd om het gedrag van systemd-logind te controleren via omgevingsvariabelen: $SYSTEMD_REBOOT_ TO_FIRMWARE_SETUP,
    $SYSTEMD_REBOOT_TO_BOOT_LOADER_MENU en
    $SYSTEMD_REBOOT_TO_BOOT_LOADER_ENTRY. Met behulp van deze variabelen kunt u uw eigen proceshandlers voor opnieuw opstarten verbinden (/run/systemd/reboot-to-firmware-setup, /run/systemd/reboot-to-boot-loader-menu en
    /run/systemd/reboot-to-boot-loader-entry) of schakel ze helemaal uit (als de waarde is ingesteld op false);

  • Opties toegevoegd “-boot-load-menu=” en
    “—boot-loader-entry=”, waarmee u een specifiek opstartmenu-item of opstartmodus kunt selecteren na een herstart;

  • Een nieuw sandbox-isolatiecommando “RestrictSUIDSGID=” toegevoegd, dat seccomp gebruikt om het maken van bestanden met SUID/SGID-vlaggen te verbieden;
  • Ervoor gezorgd dat de beperkingen “NoNewPrivileges” en “RestrictSUIDSGID” standaard worden toegepast in services met de modus voor het genereren van dynamische gebruikers-ID’s (“DynamicUser” ingeschakeld);
  • De standaardinstelling MACAddressPolicy=persistent in .link-bestanden is gewijzigd om meer apparaten te dekken. De interfaces van netwerkbruggen, tunnels (tun, tap) en geaggregeerde links (bond) identificeren zichzelf niet, behalve door de naam van de netwerkinterface, dus deze naam wordt nu gebruikt als basis voor het binden van MAC- en IPv4-adressen. Bovendien is de instelling “MACAddressPolicy=random” toegevoegd, die kan worden gebruikt om MAC- en IPv4-adressen in willekeurige volgorde aan apparaten te binden;
  • ".device"-eenheidsbestanden die zijn gegenereerd via systemd-fstab-generator bevatten niet langer de overeenkomstige ".mount"-eenheden als afhankelijkheden in de sectie "Wants=". Door simpelweg een apparaat aan te sluiten, wordt er niet langer automatisch een eenheid gestart om te mounten, maar dergelijke eenheden kunnen nog steeds om andere redenen worden gelanceerd, zoals als onderdeel van local-fs.target of als afhankelijkheid van andere eenheden die afhankelijk zijn van local-fs.target ;
  • Ondersteuning toegevoegd voor maskers (“*”, enz.) aan de “networkctl list/status/lldp”-opdrachten om bepaalde groepen netwerkinterfaces uit te filteren op een deel van hun naam;
  • De omgevingsvariabele $PIDFILE wordt nu ingesteld met behulp van het absolute pad dat in services is geconfigureerd via de parameter "PIDFile=;".
  • Openbare Cloudflare-servers (1.1.1.1) zijn toegevoegd aan het aantal gebruikte back-up-DNS-servers als de hoofd-DNS niet expliciet is gedefinieerd. Om de lijst met back-up-DNS-servers opnieuw te definiëren, kunt u de optie “-Ddns-servers=” gebruiken;
  • Wanneer de aanwezigheid van een USB Device Controller wordt gedetecteerd, wordt automatisch een nieuwe usb-gadget.target-handler gestart (wanneer het systeem op een USB-randapparaat draait);
  • Voor eenheidsbestanden is de instelling “CPUQuotaPeriodSec=” geïmplementeerd, die de tijdsperiode bepaalt ten opzichte waarvan het CPU-tijdquotum wordt gemeten, ingesteld via de instelling “CPUQuota=”;
  • Voor eenheidsbestanden is de instelling “ProtectHostname=” geïmplementeerd, die verbiedt dat services informatie over de hostnaam wijzigen, zelfs als ze over de juiste machtigingen beschikken;
  • Voor eenheidsbestanden is de instelling “NetworkNamespacePath=” geïmplementeerd, waarmee u een naamruimte kunt binden aan services of socketeenheden door het pad naar het naamruimtebestand op te geven in het pseudo-FS /proc;
  • De mogelijkheid toegevoegd om de vervanging van omgevingsvariabelen uit te schakelen voor processen die zijn gestart met de instelling “ExecStart=” door een teken “:” toe te voegen vóór de startopdracht;
  • Voor timers (.timereenheden) nieuwe vlaggen “OnClockChange=” en
    “OnTimezoneChange=”, waarmee u de unitoproep kunt controleren wanneer de systeemtijd of tijdzone verandert;

  • Nieuwe instellingen “ConditionMemory=” en “ConditionCPUs=” toegevoegd, die de voorwaarden bepalen voor het aanroepen van een eenheid, afhankelijk van de geheugengrootte en het aantal CPU-cores (een resource-intensieve service kan bijvoorbeeld alleen worden gestart als de vereiste hoeveelheid RAM is beschikbaar);
  • Er is een nieuwe time-set.target-eenheid toegevoegd die de lokaal ingestelde systeemtijd accepteert, zonder gebruik te maken van afstemming met externe tijdservers die de time-sync.target-eenheid gebruiken. De nieuwe eenheid kan worden gebruikt door diensten die de nauwkeurigheid van niet-gesynchroniseerde lokale klokken nodig hebben;
  • De optie “--show-transaction” is toegevoegd aan “systemctl start” en vergelijkbare opdrachten. Indien gespecificeerd, wordt een samenvatting weergegeven van alle taken die aan de wachtrij zijn toegevoegd vanwege de gevraagde bewerking;
  • systemd-networkd implementeert de definitie van een nieuwe 'slaved'-staat, gebruikt in plaats van 'degraded' of 'carrier' voor netwerkinterfaces die deel uitmaken van geaggregeerde links of netwerkbruggen. Voor primaire interfaces is, in geval van problemen met een van de samengestelde links, de status 'degraded-carrier' toegevoegd;
  • Optie “IgnoreCarrierLoss=” toegevoegd aan .network-eenheden om netwerkinstellingen op te slaan in geval van verbindingsverlies;
  • Via de instelling “RequiredForOnline=” in .network-eenheden kunt u nu de minimaal aanvaardbare verbindingsstatus instellen die vereist is om de netwerkinterface over te zetten naar “online” en de systemd-networkd-wait-online handler te activeren;
  • De optie “--any” toegevoegd aan systemd-networkd-wait-online om te wachten op de gereedheid van een van de gespecificeerde netwerkinterfaces in plaats van allemaal, evenals de optie “--operational-state=” om de status van de link die de gereedheid aangeeft;
  • “UseAutonomousPrefix=” en “UseOnLinkPrefix=” instellingen toegevoegd aan .network-eenheden, die kunnen worden gebruikt om voorvoegsels te negeren bij ontvangst
    aankondiging van een IPv6-router (RA, Router Advertising);

  • In .network-eenheden zijn de instellingen “MulticastFlood=”, “NeighborSuppression=” en “Learning=” toegevoegd om de bedrijfsparameters van de netwerkbrug te wijzigen, evenals de instelling “TripleSampling=” om de TRIPLE-SAMPLING-modus te wijzigen van CAN virtuele interfaces;
  • “PrivateKeyFile=” en “PresharedKeyFile=” instellingen zijn toegevoegd aan .netdev-eenheden, waarmee u privé en gedeelde (PSK) sleutels kunt specificeren voor WireGuard VPN-interfaces;
  • Opties voor same-cpu-crypt en submission-from-crypt-cpus toegevoegd aan /etc/crypttab, die het gedrag van de planner bepalen bij het migreren van encryptiegerelateerd werk tussen CPU-cores;
  • systemd-tmpfiles biedt lock-bestandsverwerking voordat bewerkingen worden uitgevoerd in mappen met tijdelijke bestanden, waardoor u het werk aan het opschonen van verouderde bestanden kunt uitschakelen voor de duur van bepaalde acties (bijvoorbeeld bij het uitpakken van een tar-archief in /tmp kunnen zeer oude bestanden worden verwijderd). geopend die niet kunnen worden verwijderd vóór het einde van de actie met hen);
  • De opdracht “systemd-analyze cat-config” biedt de mogelijkheid om een ​​configuratie te analyseren die is opgedeeld in verschillende bestanden, bijvoorbeeld gebruikers- en systeemvoorinstellingen, de inhoud van tmpfiles.d en sysusers.d, udev-regels, enz.
  • "--cursor-file=" optie toegevoegd aan "journalctl" om een ​​bestand te specificeren om de positiecursor te laden en op te slaan;
  • Definitie toegevoegd van ACRN-hypervisor en WSL-subsysteem (Windows-subsysteem voor Linux) aan systemd-detect-virt voor daaropvolgende vertakkingen met behulp van de voorwaardelijke operator “ConditionVirtualization”;
  • Tijdens de installatie van systemd (bij het uitvoeren van "ninja install") worden symbolische koppelingen gemaakt naar de bestanden systemd-networkd.service, systemd-networkd.socket,
    systemd-resolved.service, extern-cryptsetup.target, extern-fs.target,
    systemd-networkd-wait-online.service en systemd-timesyncd.service. Om deze bestanden te maken, moet u nu de opdracht “systemctl preset-all” uitvoeren.

Bronopennet.ru

[: En]

Na twee maanden ontwikkeling ingediend systeembeheerder release systemd 242. Onder de innovaties kunnen we ondersteuning voor L2TP-tunnels opmerken, de mogelijkheid om het gedrag van systemd-logind bij opnieuw opstarten te controleren via omgevingsvariabelen, ondersteuning voor uitgebreide XBOOTLDR-opstartpartities voor het mounten van /boot, de mogelijkheid om op te starten met een rootpartitie in overlayfs, evenals een groot aantal nieuwe instellingen voor verschillende soorten eenheden.

Grote veranderingen:

  • systemd-networkd biedt ondersteuning voor L2TP-tunnels;
  • sd-boot en bootctl bieden ondersteuning voor XBOOTLDR-partities (Extended Boot Loader) die zijn ontworpen om op /boot te worden gemonteerd, naast ESP-partities die op /efi of /boot/efi zijn gemonteerd. Kernels, instellingen, initrd- en EFI-images kunnen nu worden opgestart vanaf zowel ESP- als XBOOTLDR-partities. Deze wijziging maakt het mogelijk om de sd-boot bootloader in meer conservatieve scenario's te gebruiken, wanneer de bootloader zelf zich in de ESP bevindt en de geladen kernels en bijbehorende metadata in een aparte sectie worden geplaatst;
  • De mogelijkheid toegevoegd om op te starten met de “systemd.volatile=overlay” optie doorgegeven aan de kernel, waardoor je de rootpartitie in overlayfs kunt plaatsen en het werk kunt organiseren bovenop een alleen-lezen afbeelding van de rootmap met wijzigingen geschreven naar een aparte map in tmpfs (wijzigingen in deze configuratie gaan verloren na een herstart) . Naar analogie heeft systemd-nspawn de optie “--volatile=overlay” toegevoegd om vergelijkbare functionaliteit in containers te gebruiken;
  • systemd-nspawn heeft de optie "--oci-bundle" toegevoegd om het gebruik van runtimebundels mogelijk te maken om geïsoleerde lancering van containers mogelijk te maken die voldoen aan de Open Container Initiative (OCI) -specificatie. Voor gebruik in de opdrachtregel- en nspawn-eenheden wordt ondersteuning voorgesteld voor verschillende opties beschreven in de OCI-specificatie. Zo kunnen de opties “--inaccessible” en “Inaccessible” worden gebruikt om delen van het bestandssysteem uit te sluiten, en de optie “ --console”-opties zijn toegevoegd om standaarduitvoerstromen en "-pipe" te configureren;
  • De mogelijkheid toegevoegd om het gedrag van systemd-logind te controleren via omgevingsvariabelen: $SYSTEMD_REBOOT_ TO_FIRMWARE_SETUP,
    $SYSTEMD_REBOOT_TO_BOOT_LOADER_MENU en
    $SYSTEMD_REBOOT_TO_BOOT_LOADER_ENTRY. Met behulp van deze variabelen kunt u uw eigen proceshandlers voor opnieuw opstarten verbinden (/run/systemd/reboot-to-firmware-setup, /run/systemd/reboot-to-boot-loader-menu en
    /run/systemd/reboot-to-boot-loader-entry) of schakel ze helemaal uit (als de waarde is ingesteld op false);

  • Opties toegevoegd “-boot-load-menu=” en
    “—boot-loader-entry=”, waarmee u een specifiek opstartmenu-item of opstartmodus kunt selecteren na een herstart;

  • Een nieuw sandbox-isolatiecommando “RestrictSUIDSGID=” toegevoegd, dat seccomp gebruikt om het maken van bestanden met SUID/SGID-vlaggen te verbieden;
  • Ervoor gezorgd dat de beperkingen “NoNewPrivileges” en “RestrictSUIDSGID” standaard worden toegepast in services met de modus voor het genereren van dynamische gebruikers-ID’s (“DynamicUser” ingeschakeld);
  • De standaardinstelling MACAddressPolicy=persistent in .link-bestanden is gewijzigd om meer apparaten te dekken. De interfaces van netwerkbruggen, tunnels (tun, tap) en geaggregeerde links (bond) identificeren zichzelf niet, behalve door de naam van de netwerkinterface, dus deze naam wordt nu gebruikt als basis voor het binden van MAC- en IPv4-adressen. Bovendien is de instelling “MACAddressPolicy=random” toegevoegd, die kan worden gebruikt om MAC- en IPv4-adressen in willekeurige volgorde aan apparaten te binden;
  • ".device"-eenheidsbestanden die zijn gegenereerd via systemd-fstab-generator bevatten niet langer de overeenkomstige ".mount"-eenheden als afhankelijkheden in de sectie "Wants=". Door simpelweg een apparaat aan te sluiten, wordt er niet langer automatisch een eenheid gestart om te mounten, maar dergelijke eenheden kunnen nog steeds om andere redenen worden gelanceerd, zoals als onderdeel van local-fs.target of als afhankelijkheid van andere eenheden die afhankelijk zijn van local-fs.target ;
  • Ondersteuning toegevoegd voor maskers (“*”, enz.) aan de “networkctl list/status/lldp”-opdrachten om bepaalde groepen netwerkinterfaces uit te filteren op een deel van hun naam;
  • De omgevingsvariabele $PIDFILE wordt nu ingesteld met behulp van het absolute pad dat in services is geconfigureerd via de parameter "PIDFile=;".
  • Openbare Cloudflare-servers (1.1.1.1) zijn toegevoegd aan het aantal gebruikte back-up-DNS-servers als de hoofd-DNS niet expliciet is gedefinieerd. Om de lijst met back-up-DNS-servers opnieuw te definiëren, kunt u de optie “-Ddns-servers=” gebruiken;
  • Wanneer de aanwezigheid van een USB Device Controller wordt gedetecteerd, wordt automatisch een nieuwe usb-gadget.target-handler gestart (wanneer het systeem op een USB-randapparaat draait);
  • Voor eenheidsbestanden is de instelling “CPUQuotaPeriodSec=” geïmplementeerd, die de tijdsperiode bepaalt ten opzichte waarvan het CPU-tijdquotum wordt gemeten, ingesteld via de instelling “CPUQuota=”;
  • Voor eenheidsbestanden is de instelling “ProtectHostname=” geïmplementeerd, die verbiedt dat services informatie over de hostnaam wijzigen, zelfs als ze over de juiste machtigingen beschikken;
  • Voor eenheidsbestanden is de instelling “NetworkNamespacePath=” geïmplementeerd, waarmee u een naamruimte kunt binden aan services of socketeenheden door het pad naar het naamruimtebestand op te geven in het pseudo-FS /proc;
  • De mogelijkheid toegevoegd om de vervanging van omgevingsvariabelen uit te schakelen voor processen die zijn gestart met de instelling “ExecStart=” door een teken “:” toe te voegen vóór de startopdracht;
  • Voor timers (.timereenheden) nieuwe vlaggen “OnClockChange=” en
    “OnTimezoneChange=”, waarmee u de unitoproep kunt controleren wanneer de systeemtijd of tijdzone verandert;

  • Nieuwe instellingen “ConditionMemory=” en “ConditionCPUs=” toegevoegd, die de voorwaarden bepalen voor het aanroepen van een eenheid, afhankelijk van de geheugengrootte en het aantal CPU-cores (een resource-intensieve service kan bijvoorbeeld alleen worden gestart als de vereiste hoeveelheid RAM is beschikbaar);
  • Er is een nieuwe time-set.target-eenheid toegevoegd die de lokaal ingestelde systeemtijd accepteert, zonder gebruik te maken van afstemming met externe tijdservers die de time-sync.target-eenheid gebruiken. De nieuwe eenheid kan worden gebruikt door diensten die de nauwkeurigheid van niet-gesynchroniseerde lokale klokken nodig hebben;
  • De optie “--show-transaction” is toegevoegd aan “systemctl start” en vergelijkbare opdrachten. Indien gespecificeerd, wordt een samenvatting weergegeven van alle taken die aan de wachtrij zijn toegevoegd vanwege de gevraagde bewerking;
  • systemd-networkd implementeert de definitie van een nieuwe 'slaved'-staat, gebruikt in plaats van 'degraded' of 'carrier' voor netwerkinterfaces die deel uitmaken van geaggregeerde links of netwerkbruggen. Voor primaire interfaces is, in geval van problemen met een van de samengestelde links, de status 'degraded-carrier' toegevoegd;
  • Optie “IgnoreCarrierLoss=” toegevoegd aan .network-eenheden om netwerkinstellingen op te slaan in geval van verbindingsverlies;
  • Via de instelling “RequiredForOnline=” in .network-eenheden kunt u nu de minimaal aanvaardbare verbindingsstatus instellen die vereist is om de netwerkinterface over te zetten naar “online” en de systemd-networkd-wait-online handler te activeren;
  • De optie “--any” toegevoegd aan systemd-networkd-wait-online om te wachten op de gereedheid van een van de gespecificeerde netwerkinterfaces in plaats van allemaal, evenals de optie “--operational-state=” om de status van de link die de gereedheid aangeeft;
  • “UseAutonomousPrefix=” en “UseOnLinkPrefix=” instellingen toegevoegd aan .network-eenheden, die kunnen worden gebruikt om voorvoegsels te negeren bij ontvangst
    aankondiging van een IPv6-router (RA, Router Advertising);

  • In .network-eenheden zijn de instellingen “MulticastFlood=”, “NeighborSuppression=” en “Learning=” toegevoegd om de bedrijfsparameters van de netwerkbrug te wijzigen, evenals de instelling “TripleSampling=” om de TRIPLE-SAMPLING-modus te wijzigen van CAN virtuele interfaces;
  • “PrivateKeyFile=” en “PresharedKeyFile=” instellingen zijn toegevoegd aan .netdev-eenheden, waarmee u privé en gedeelde (PSK) sleutels kunt specificeren voor WireGuard VPN-interfaces;
  • Opties voor same-cpu-crypt en submission-from-crypt-cpus toegevoegd aan /etc/crypttab, die het gedrag van de planner bepalen bij het migreren van encryptiegerelateerd werk tussen CPU-cores;
  • systemd-tmpfiles biedt lock-bestandsverwerking voordat bewerkingen worden uitgevoerd in mappen met tijdelijke bestanden, waardoor u het werk aan het opschonen van verouderde bestanden kunt uitschakelen voor de duur van bepaalde acties (bijvoorbeeld bij het uitpakken van een tar-archief in /tmp kunnen zeer oude bestanden worden verwijderd). geopend die niet kunnen worden verwijderd vóór het einde van de actie met hen);
  • De opdracht “systemd-analyze cat-config” biedt de mogelijkheid om een ​​configuratie te analyseren die is opgedeeld in verschillende bestanden, bijvoorbeeld gebruikers- en systeemvoorinstellingen, de inhoud van tmpfiles.d en sysusers.d, udev-regels, enz.
  • "--cursor-file=" optie toegevoegd aan "journalctl" om een ​​bestand te specificeren om de positiecursor te laden en op te slaan;
  • Definitie toegevoegd van ACRN-hypervisor en WSL-subsysteem (Windows-subsysteem voor Linux) aan systemd-detect-virt voor daaropvolgende vertakkingen met behulp van de voorwaardelijke operator “ConditionVirtualization”;
  • Tijdens de installatie van systemd (bij het uitvoeren van "ninja install") worden symbolische koppelingen gemaakt naar de bestanden systemd-networkd.service, systemd-networkd.socket,
    systemd-resolved.service, extern-cryptsetup.target, extern-fs.target,
    systemd-networkd-wait-online.service en systemd-timesyncd.service. Om deze bestanden te maken, moet u nu de opdracht “systemctl preset-all” uitvoeren.

Bron: opennet.ru

[:]

Voeg een reactie