Udgivelsen af systemmanageren systemd 242

Efter to måneders udvikling er systemadministratoren systemd 242 blevet frigivet. Blandt nyhederne kan nævnes understøttelse af L2TP-tunneler, muligheden for at styre systemd-loginds adfærd ved genstart gennem miljøvariabler, understøttelse af udvidede boot-partitioner XBOOTLDR til montering af /boot, mulighed for opstart med roden i overlayfs og et stort antal nye indstillinger for forskellige typer enheder.

Vigtige ændringer:

  • systemd-networkd understøtter L2TP-tunneler;
  • I sd-boot og bootctl er der implementeret understøttelse af XBOOTLDR-partitioner (Extended Boot Loader), der er beregnet til montering i /boot, ud over ESP-partitioner, der monteres i /efi eller /boot/efi. Kerner, indstillinger, initrd-billeder og EFI kan nu indlæses fra både ESP-partitioner og XBOOTLDR-partitioner. Denne ændring gør det muligt at bruge bootloaderen sd-boot i mere konservative scenarier, hvor selve bootloaderen ligger i ESP, mens de indlæste kerner og relaterede metadata placeres i en separat partition;
  • Der er tilføjet mulighed for at starte op med at videregive optionen „systemd.volatile=overlay“ til kernen, hvilket muliggør placering af roden i overlayfs og organisering af drift oven på et skrivebeskyttet billede af rodkataloget med ændringer gemt i et separat katalog i tmpfs (ændringer i denne konfiguration går tabt efter genstart). Ligeledes er der i systemd-nspawn tilføjet optionen „—volatile=overlay“ for at muliggøre lignende funktionalitet i containere;
  • Der er i systemd-nspawn tilføjet optionen „—oci-bundle“, der muliggør brug af runtime-sæt til at sørge for isoleret opstart af containere, der opfylder Open Container Initiative (OCI) specifikationen. For brug i kommandolinjen og nspawn-enheder er der foreslået understøttelse af forskellige options, som er beskrevet i OCI-specifikationen, f.eks. kan indstillingerne „—inaccessible“ og „Inaccessible“ bruges til at udelukke dele af filsystemet, og der er tilføjet options „—console“ og „—pipe“ til at konfigurere standard output-strømme;
  • Der er tilføjet mulighed for at styre systemd-loginds adfærd gennem miljøvariabler: $SYSTEMD_REBOOT_TO_FIRMWARE_SETUP,
    $SYSTEMD_REBOOT_TO_BOOT_LOADER_MENU og
    $SYSTEMD_REBOOT_TO_BOOT_LOADER_ENTRY. Med disse variabler kan du tilslutte dine egne håndteringsprocesser for genstart ( /run/systemd/reboot-to-firmware-setup, /run/systemd/reboot-to-boot-loader-menu og
    /run/systemd/reboot-to-boot-loader-entry) или вообще отключить их (при выставлении значения в false);
  • Til kommandoen „systemctl reboot“ er der tilføjet options „—boot-load-menu=“ og
    «—boot-loader-entry=», der gør det muligt at vælge et specifikt punkt i boot-menuen eller en boot-tilstand efter genstart;
  • Der er tilføjet en ny sandbox-isolationskommando «RestrictSUIDSGID=», der bruger seccomp til at forbyde oprettelse af filer med SUID/SGID-flags;
  • Det er nu som standard sikret, at begrænsningerne «NoNewPrivileges» og «RestrictSUIDSGID» anvendes i tjenester med aktiveret dynamisk brugergenereringsmodus («DynamicUser»);
  • Den standardindstilling, der anvendes i .link-filer, MACAddressPolicy=persistent, er ændret for at inkludere flere enheder. Netværksbro-interface, tunneler (tun, tap) og aggregerede links (bond) identificerer sig selv kun med netværksinterface-navnet, så dette navn bruges nu som grundlag for at knytte MAC- og IPv4-adresser. Desuden er der tilføjet indstillingen «MACAddressPolicy=random», som kan bruges til at knytte MAC- og IPv4-adresser til enheder på en tilfældig måde;
  • De enhedsfiler «.device», der genereres via systemd-fstab-generator, inkluderer nu ikke de tilsvarende «.mount» enheder som afhængigheder i sektionen «Wants=». En simpel tilslutning af en enhed fører ikke længere automatisk til, at en monteringsenhed startes, men sådanne enheder kan stadig startes af andre årsager, for eksempel som en del af local-fs.target eller som afhængigheder for andre enheder, der er afhængige af local-fs.target;
  • Kommandoerne «networkctl list/status/lldp» har nu tilføjet support til masker («*» osv.) for at filtrere bestemte grupper af netværksinterfacer baseret på deres navn;
  • Miljøvariablen $PIDFILE sættes nu med en absolut sti, der er konfigureret i tjenester gennem parameteren «PIDFile=;
  • Offentlige DNS-servere er tilføjet til listen over backup DNS-servere, der bruges, hvis der ikke er angivet en primær DNS; servere Cloudflare (1.1.1.1). For at overskrive listen over backup DNS-servere kan man bruge indstillingen «-Ddns-servers=»;
  • Når en USB-enhedskontroller (USB Device Controller) identificeres, sikres automatisk start af den nye behandler usb-gadget.target (når systemet kører på det perifere USB-enhed);
  • For enhedsfiler er indstillingen «CPUQuotaPeriodSec=» implementeret, som definerer en tidsperiode i forhold til hvilken kvoten for CPU-tid, angivet gennem indstillingen «CPUQuota=», måles;
  • For unit files, the setting 'ProtectHostname=' has been implemented, which prevents services from changing host name information, even with the corresponding privileges;
  • For unit files, the setting 'NetworkNamespacePath=' has been implemented, allowing the binding of namespaces to services or socket units through the specification of the namespace file path in the pseudo-filesystem /proc;
  • The possibility of disabling environment variable substitution for processes launched using the 'ExecStart=' setting has been added by placing a ':' character before the launch command;
  • New flags 'OnClockChange=' and
    'OnTimezoneChange=' have been proposed for timers (units .timer), allowing management of unit invocation when the system time or timezone changes;
  • New settings 'ConditionMemory=' and 'ConditionCPUs=' have been added, determining unit invocation conditions based on memory size and the number of CPU cores (for example, resource-intensive services can be started only if the required amount of RAM is available);
  • A new unit time-set.target has been added, accepting locally set system time without using synchronization with external time servers via the time-sync.target unit. This new unit can be utilized by services that require the accuracy of unsynchronized local clocks;
  • An option '--show-transaction' has been added to 'systemctl start' and similar commands, which, when specified, outputs a summary of all jobs added to the queue due to the requested operation;
  • In systemd-networkd, a new state 'enslaved' has been implemented, used instead of 'degraded' or 'carrier' for network interfaces belonging to aggregated links or network bridges. For primary interfaces, in case of issues with one of the constituent links, a state 'degraded-carrier' has been added;
  • In .network units, the 'IgnoreCarrierLoss=' option has been added to preserve network settings in case of a link drop;
  • Through the 'RequiredForOnline=' setting in .network units, it is now possible to specify the minimum link state required to transition the network interface to 'online' and trigger the systemd-networkd-wait-online handler;
  • In systemd-networkd-wait-online, the option '--any' has been added to wait for the readiness of any of the specified network interfaces instead of all, as well as the option '--operational-state=' to determine the link state that indicates readiness;
  • I .network-enhederne er tilføjet indstillingen «UseAutonomousPrefix=» og «UseOnLinkPrefix=», som kan bruges til at ignorere præfikser ved modtagelse
    af meddelelsen fra IPv6-routeren (RA, Router Advertisement);
  • I .network-enhederne er der tilføjet indstillingerne «MulticastFlood=», «NeighborSuppression=» og «Learning=» for at ændre netværksbroens parametre, samt indstillingen «TripleSampling=» for at ændre tilstanden for TRIPLE-SAMPLING af virtuelle CAN-interfaces;
  • I .netdev-enhederne er der tilføjet indstillingerne «PrivateKeyFile=» og «PresharedKeyFile=», hvormed man kan angive den private og delt (PSK) nøgle for WireGuard-interfaces VPN;
  • I /etc/crypttab er der tilføjet indstillingerne same-cpu-crypt og submit-from-crypt-cpus, der styrer schedulerens opførsel ved migration mellem CPU-kerner for arbejde relateret til kryptering;
  • I systemd-tmpfiles er der sikret behandling af låsefilen før udførelsen af operationer i mapper med midlertidige filer, hvilket gør det muligt at deaktivere oprydning af forældede filer i en periode (f.eks. ved uddragning af en tar-arkiv til /tmp kan meget gamle filer blive tilgængelige, som ikke kan slettes, før handlingen med dem er afsluttet);
  • I kommandoen «systemd-analyze cat-config» er det muligt at analysere konfigurationen, der er opdelt i flere filer, f.eks. bruger- og systemprædefinerede indstillinger, indholdet af tmpfiles.d og sysusers.d, regler for udev osv.
  • I «journalctl» er der tilføjet muligheden «—cursor-file=» for at angive filen til indlæsning og gemming af positionsmarkøren;
  • I systemd-detect-virt er der tilføjet detektion af hypervisoren ACRN og WSL-subsystemet (Windows Subsystem for Linux) til efterfølgende gradering ved hjælp af den betingede operator «ConditionVirtualization»;
  • Under installationen af systemd (ved at køre «ninja install») er oprettelsen af symbolske links til filerne systemd-networkd.service, systemd-networkd.socket i /etc stoppet,
    systemd-resolved.service, remote-cryptsetup.target, remote-fs.target,
    systemd-networkd-wait-online.service og systemd-timesyncd.service. For at oprette disse filer skal man nu køre kommandoen «systemctl preset-all».

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster