systemd system manager udgivelse 242

[:ru]

Efter to måneders udvikling præsenteret frigivelse af systemadministrator systemd 242. Blandt innovationerne kan vi bemærke understøttelse af L2TP-tunneler, evnen til at kontrollere adfærden af ​​systemd-login ved genstart gennem miljøvariabler, understøttelse af udvidede XBOOTLDR-opstartspartitioner til montering/boot, muligheden for at starte op med en rodpartition i overlejringer, samt en lang række nye indstillinger til forskellige typer enheder.

Vigtigste ændringer:

  • systemd-networkd giver understøttelse af L2TP-tunneler;
  • sd-boot og bootctl understøtter XBOOTLDR (Extended Boot Loader)-partitioner designet til at blive monteret på /boot, foruden ESP-partitioner monteret på /efi eller /boot/efi. Kerneler, indstillinger, initrd og EFI-billeder kan nu startes fra både ESP- og XBOOTLDR-partitioner. Denne ændring giver dig mulighed for at bruge sd-boot-bootloaderen i mere konservative scenarier, når selve bootloaderen er placeret i ESP, og de indlæste kerner og tilhørende metadata er placeret i en separat sektion;
  • Tilføjet muligheden for at starte med "systemd.volatile=overlay"-indstillingen videregivet til kernen, som giver dig mulighed for at placere rodpartitionen i overlayfs og organisere arbejdet oven på et skrivebeskyttet billede af rodmappen med ændringer skrevet til en separat mappe i tmpfs (ændringer i denne konfiguration går tabt efter en genstart). Analogt har systemd-nspawn tilføjet "--volatile=overlay" muligheden for at bruge lignende funktionalitet i containere;
  • systemd-nspawn har tilføjet "--oci-bundle"-muligheden for at tillade brugen af ​​runtime-bundter for at give isoleret lancering af containere, der overholder Open Container Initiative (OCI)-specifikationen. Til brug i kommandolinje- og nspawn-enhederne foreslås understøttelse af forskellige muligheder beskrevet i OCI-specifikationen, f.eks. kan "--inaccessible" og "Inaccessible" mulighederne bruges til at udelukke dele af filsystemet, og " --console" muligheder er blevet tilføjet for at konfigurere standard output streams og "-pipe";
  • Tilføjet muligheden for at kontrollere opførselen af ​​systemd-logind gennem miljøvariabler: $SYSTEMD_REBOOT_ TO_FIRMWARE_SETUP,
    $SYSTEMD_REBOOT_TO_BOOT_LOADER_MENU og
    $SYSTEMD_REBOOT_ TO_BOOT_LOADER_ENTRY. Ved at bruge disse variabler kan du forbinde dine egne genstartsproceshandlere (/run/systemd/reboot-to-firmware-setup, /run/systemd/reboot-to-boot-loader-menu og
    /run/systemd/reboot-to-boot-loader-entry) eller deaktiver dem helt (når værdien er sat til false);

  • Tilføjede muligheder "-boot-load-menu=" og
    “—boot-loader-entry=”, der giver dig mulighed for at vælge et specifikt boot-menupunkt eller boot-tilstand efter en genstart;

  • Tilføjet en ny sandbox-isoleringskommando "RestrictSUIDSGID=", som bruger seccomp til at forbyde oprettelse af filer med SUID/SGID-flag;
  • Sikret, at begrænsningerne "NoNewPrivileges" og "RestrictSUIDSGID" anvendes som standard i tjenester med den dynamiske bruger-id-genereringstilstand ("DynamicUser" aktiveret);
  • Standard MACAddressPolicy=persistent indstilling i .link-filer er blevet ændret til at dække flere enheder. Grænsefladerne for netværksbroer, tunneler (tun, tap) og aggregerede links (bond) identificerer sig ikke undtagen ved navnet på netværksgrænsefladen, så dette navn bruges nu som grundlag for binding af MAC- og IPv4-adresser. Derudover er "MACAddressPolicy=random"-indstillingen tilføjet, som kan bruges til at binde MAC- og IPv4-adresser til enheder i en tilfældig rækkefølge;
  • ".device"-enhedsfiler genereret via systemd-fstab-generator inkluderer ikke længere de tilsvarende ".mount"-enheder som afhængigheder i "Wants="-afsnittet. Blot at tilslutte en enhed starter ikke længere automatisk en enhed, der skal monteres, men sådanne enheder kan stadig lanceres af andre årsager, såsom som en del af local-fs.target eller som en afhængighed af andre enheder, der er afhængige af local-fs.target ;
  • Tilføjet understøttelse af masker ("*", etc.) til "networkctl list/status/lldp" kommandoerne for at filtrere visse grupper af netværksgrænseflader fra en del af deres navn;
  • $PIDFILE miljøvariablen er nu indstillet ved hjælp af den absolutte sti, der er konfigureret i tjenester via parameteren "PIDFile=;".
  • Offentlige Cloudflare-servere (1.1.1.1) er blevet tilføjet til antallet af backup DNS-servere, der bruges, hvis hoved-DNS ikke er eksplicit defineret. For at omdefinere listen over backup DNS-servere, kan du bruge "-Ddns-servers="-indstillingen;
  • Når der detekteres tilstedeværelsen af ​​en USB-enhedscontroller, startes en ny usb-gadget.target-handler automatisk (når systemet kører på en USB-periferenhed);
  • For enhedsfiler er "CPUQuotaPeriodSec="-indstillingen blevet implementeret, som bestemmer den tidsperiode, i forhold til hvilken CPU-tidskvoten måles, indstillet gennem "CPUQuota="-indstillingen;
  • For enhedsfiler er indstillingen "ProtectHostname=" blevet implementeret, som forbyder tjenester i at ændre information om værtsnavnet, selvom de har de relevante tilladelser;
  • For enhedsfiler er indstillingen “NetworkNamespacePath=” blevet implementeret, som giver dig mulighed for at binde et navneområde til tjenester eller socket-enheder ved at angive stien til navnerumsfilen i pseudo-FS /proc;
  • Tilføjet muligheden for at deaktivere substitution af miljøvariabler for processer lanceret ved hjælp af “ExecStart=” indstillingen ved at tilføje et “:” tegn før start kommandoen;
  • For timere (.timerenheder) nye flag “OnClockChange=” og
    “OnTimezoneChange=”, hvormed du kan styre enhedsopkaldet, når systemets tid eller tidszone ændres;

  • Tilføjet nye indstillinger "ConditionMemory=" og "ConditionCPUs=", som bestemmer betingelserne for at kalde en enhed afhængigt af hukommelsesstørrelsen og antallet af CPU-kerner (f.eks. kan en ressourcekrævende tjeneste kun startes, hvis den nødvendige mængde RAM er tilgængelig);
  • Tilføjet en ny time-set.target enhed, der accepterer den lokalt indstillede systemtid, uden at bruge afstemning med eksterne tidsservere ved hjælp af time-sync.target enheden. Den nye enhed kan bruges af tjenester, der har brug for nøjagtigheden af ​​usynkroniserede lokale ure;
  • Indstillingen "--show-transaction" er blevet tilføjet til "systemctl start" og lignende kommandoer, når det er angivet, vises en oversigt over alle job, der er tilføjet til køen på grund af den anmodede handling;
  • systemd-networkd implementerer definitionen af ​​en ny 'slaveret' tilstand, der bruges i stedet for 'degraderet' eller 'bærer' til netværksgrænseflader, der er en del af aggregerede links eller netværksbroer. For primære grænseflader, i tilfælde af problemer med et af de sammensatte links, er tilstanden 'degraded-carrier' blevet tilføjet;
  • Tilføjet "IgnoreCarrierLoss=" mulighed til .network-enheder for at gemme netværksindstillinger i tilfælde af forbindelsestab;
  • Gennem indstillingen "RequiredForOnline=" i .network-enheder kan du nu indstille den minimum acceptable linktilstand, der kræves for at overføre netværksgrænsefladen til "online" og udløse systemd-networkd-wait-online handleren;
  • Tilføjet "--any"-indstillingen til systemd-networkd-wait-online for at vente på, at nogen af ​​de specificerede netværksgrænseflader er klar i stedet for alle, samt "--operational-state="-indstillingen for at bestemme tilstanden af linket, der angiver parathed;
  • Tilføjede indstillinger for "UseAutonomousPrefix=" og "UseOnLinkPrefix=" til .network-enheder, som kan bruges til at ignorere præfikser ved modtagelse
    meddelelse fra en IPv6-router (RA, Router Advertisement);

  • I .network-enheder er indstillingerne "MulticastFlood=", "NeighborSuppression=" og "Learning=" blevet tilføjet for at ændre driftsparametrene for netværksbroen, samt indstillingen "TripleSampling=" for at ændre TRIPLE-SAMPLING-tilstanden af virtuelle CAN-grænseflader;
  • Indstillingerne “PrivateKeyFile=” og “PresharedKeyFile=” er blevet tilføjet til .netdev-enheder, med hvilke du kan angive private og delte (PSK) nøgler til WireGuard VPN-grænseflader;
  • Tilføjede same-cpu-crypt og submit-from-crypt-cpus muligheder til /etc/crypttab, som styrer planlæggerens adfærd ved migrering af krypteringsrelateret arbejde mellem CPU-kerner;
  • systemd-tmpfiles giver behandling af låsefiler, før du udfører handlinger i mapper med midlertidige filer, hvilket giver dig mulighed for at deaktivere arbejdet med at rense forældede filer under varigheden af ​​visse handlinger (for eksempel, når du udpakker et tar-arkiv i /tmp, kan meget gamle filer være åbnet, som ikke kan slettes før afslutningen af ​​handlingen med dem);
  • Kommandoen "systemd-analyze cat-config" giver mulighed for at analysere en konfiguration opdelt i flere filer, for eksempel bruger- og systemforudindstillinger, indholdet af tmpfiles.d og sysusers.d, udev-regler osv.
  • Tilføjet "--cursor-file=" mulighed til "journalctl" for at angive en fil, der skal indlæses og gemme positionsmarkøren;
  • Tilføjet definition af ACRN-hypervisor og WSL-undersystem (Windows Subsystem til Linux) til systemd-detect-virt til efterfølgende forgrening ved hjælp af den betingede operator "ConditionVirtualization";
  • Under systemd installation (når du udfører "ninja installation"), oprettelse af symbolske links til filerne systemd-networkd.service, systemd-networkd.socket,
    systemd-resolved.service, remote-cryptsetup.target, remote-fs.target,
    systemd-networkd-wait-online.service og systemd-timesyncd.service. For at oprette disse filer skal du nu køre kommandoen "systemctl preset-all".

Kildeopennet.ru

[En]

Efter to måneders udvikling præsenteret frigivelse af systemadministrator systemd 242. Blandt innovationerne kan vi bemærke understøttelse af L2TP-tunneler, evnen til at kontrollere adfærden af ​​systemd-login ved genstart gennem miljøvariabler, understøttelse af udvidede XBOOTLDR-opstartspartitioner til montering/boot, muligheden for at starte op med en rodpartition i overlejringer, samt en lang række nye indstillinger til forskellige typer enheder.

Vigtigste ændringer:

  • systemd-networkd giver understøttelse af L2TP-tunneler;
  • sd-boot og bootctl understøtter XBOOTLDR (Extended Boot Loader)-partitioner designet til at blive monteret på /boot, foruden ESP-partitioner monteret på /efi eller /boot/efi. Kerneler, indstillinger, initrd og EFI-billeder kan nu startes fra både ESP- og XBOOTLDR-partitioner. Denne ændring giver dig mulighed for at bruge sd-boot-bootloaderen i mere konservative scenarier, når selve bootloaderen er placeret i ESP, og de indlæste kerner og tilhørende metadata er placeret i en separat sektion;
  • Tilføjet muligheden for at starte med "systemd.volatile=overlay"-indstillingen videregivet til kernen, som giver dig mulighed for at placere rodpartitionen i overlayfs og organisere arbejdet oven på et skrivebeskyttet billede af rodmappen med ændringer skrevet til en separat mappe i tmpfs (ændringer i denne konfiguration går tabt efter en genstart). Analogt har systemd-nspawn tilføjet "--volatile=overlay" muligheden for at bruge lignende funktionalitet i containere;
  • systemd-nspawn har tilføjet "--oci-bundle"-muligheden for at tillade brugen af ​​runtime-bundter for at give isoleret lancering af containere, der overholder Open Container Initiative (OCI)-specifikationen. Til brug i kommandolinje- og nspawn-enhederne foreslås understøttelse af forskellige muligheder beskrevet i OCI-specifikationen, f.eks. kan "--inaccessible" og "Inaccessible" mulighederne bruges til at udelukke dele af filsystemet, og " --console" muligheder er blevet tilføjet for at konfigurere standard output streams og "-pipe";
  • Tilføjet muligheden for at kontrollere opførselen af ​​systemd-logind gennem miljøvariabler: $SYSTEMD_REBOOT_ TO_FIRMWARE_SETUP,
    $SYSTEMD_REBOOT_TO_BOOT_LOADER_MENU og
    $SYSTEMD_REBOOT_ TO_BOOT_LOADER_ENTRY. Ved at bruge disse variabler kan du forbinde dine egne genstartsproceshandlere (/run/systemd/reboot-to-firmware-setup, /run/systemd/reboot-to-boot-loader-menu og
    /run/systemd/reboot-to-boot-loader-entry) eller deaktiver dem helt (når værdien er sat til false);

  • Tilføjede muligheder "-boot-load-menu=" og
    “—boot-loader-entry=”, der giver dig mulighed for at vælge et specifikt boot-menupunkt eller boot-tilstand efter en genstart;

  • Tilføjet en ny sandbox-isoleringskommando "RestrictSUIDSGID=", som bruger seccomp til at forbyde oprettelse af filer med SUID/SGID-flag;
  • Sikret, at begrænsningerne "NoNewPrivileges" og "RestrictSUIDSGID" anvendes som standard i tjenester med den dynamiske bruger-id-genereringstilstand ("DynamicUser" aktiveret);
  • Standard MACAddressPolicy=persistent indstilling i .link-filer er blevet ændret til at dække flere enheder. Grænsefladerne for netværksbroer, tunneler (tun, tap) og aggregerede links (bond) identificerer sig ikke undtagen ved navnet på netværksgrænsefladen, så dette navn bruges nu som grundlag for binding af MAC- og IPv4-adresser. Derudover er "MACAddressPolicy=random"-indstillingen tilføjet, som kan bruges til at binde MAC- og IPv4-adresser til enheder i en tilfældig rækkefølge;
  • ".device"-enhedsfiler genereret via systemd-fstab-generator inkluderer ikke længere de tilsvarende ".mount"-enheder som afhængigheder i "Wants="-afsnittet. Blot at tilslutte en enhed starter ikke længere automatisk en enhed, der skal monteres, men sådanne enheder kan stadig lanceres af andre årsager, såsom som en del af local-fs.target eller som en afhængighed af andre enheder, der er afhængige af local-fs.target ;
  • Tilføjet understøttelse af masker ("*", etc.) til "networkctl list/status/lldp" kommandoerne for at filtrere visse grupper af netværksgrænseflader fra en del af deres navn;
  • $PIDFILE miljøvariablen er nu indstillet ved hjælp af den absolutte sti, der er konfigureret i tjenester via parameteren "PIDFile=;".
  • Offentlige Cloudflare-servere (1.1.1.1) er blevet tilføjet til antallet af backup DNS-servere, der bruges, hvis hoved-DNS ikke er eksplicit defineret. For at omdefinere listen over backup DNS-servere, kan du bruge "-Ddns-servers="-indstillingen;
  • Når der detekteres tilstedeværelsen af ​​en USB-enhedscontroller, startes en ny usb-gadget.target-handler automatisk (når systemet kører på en USB-periferenhed);
  • For enhedsfiler er "CPUQuotaPeriodSec="-indstillingen blevet implementeret, som bestemmer den tidsperiode, i forhold til hvilken CPU-tidskvoten måles, indstillet gennem "CPUQuota="-indstillingen;
  • For enhedsfiler er indstillingen "ProtectHostname=" blevet implementeret, som forbyder tjenester i at ændre information om værtsnavnet, selvom de har de relevante tilladelser;
  • For enhedsfiler er indstillingen “NetworkNamespacePath=” blevet implementeret, som giver dig mulighed for at binde et navneområde til tjenester eller socket-enheder ved at angive stien til navnerumsfilen i pseudo-FS /proc;
  • Tilføjet muligheden for at deaktivere substitution af miljøvariabler for processer lanceret ved hjælp af “ExecStart=” indstillingen ved at tilføje et “:” tegn før start kommandoen;
  • For timere (.timerenheder) nye flag “OnClockChange=” og
    “OnTimezoneChange=”, hvormed du kan styre enhedsopkaldet, når systemets tid eller tidszone ændres;

  • Tilføjet nye indstillinger "ConditionMemory=" og "ConditionCPUs=", som bestemmer betingelserne for at kalde en enhed afhængigt af hukommelsesstørrelsen og antallet af CPU-kerner (f.eks. kan en ressourcekrævende tjeneste kun startes, hvis den nødvendige mængde RAM er tilgængelig);
  • Tilføjet en ny time-set.target enhed, der accepterer den lokalt indstillede systemtid, uden at bruge afstemning med eksterne tidsservere ved hjælp af time-sync.target enheden. Den nye enhed kan bruges af tjenester, der har brug for nøjagtigheden af ​​usynkroniserede lokale ure;
  • Indstillingen "--show-transaction" er blevet tilføjet til "systemctl start" og lignende kommandoer, når det er angivet, vises en oversigt over alle job, der er tilføjet til køen på grund af den anmodede handling;
  • systemd-networkd implementerer definitionen af ​​en ny 'slaveret' tilstand, der bruges i stedet for 'degraderet' eller 'bærer' til netværksgrænseflader, der er en del af aggregerede links eller netværksbroer. For primære grænseflader, i tilfælde af problemer med et af de sammensatte links, er tilstanden 'degraded-carrier' blevet tilføjet;
  • Tilføjet "IgnoreCarrierLoss=" mulighed til .network-enheder for at gemme netværksindstillinger i tilfælde af forbindelsestab;
  • Gennem indstillingen "RequiredForOnline=" i .network-enheder kan du nu indstille den minimum acceptable linktilstand, der kræves for at overføre netværksgrænsefladen til "online" og udløse systemd-networkd-wait-online handleren;
  • Tilføjet "--any"-indstillingen til systemd-networkd-wait-online for at vente på, at nogen af ​​de specificerede netværksgrænseflader er klar i stedet for alle, samt "--operational-state="-indstillingen for at bestemme tilstanden af linket, der angiver parathed;
  • Tilføjede indstillinger for "UseAutonomousPrefix=" og "UseOnLinkPrefix=" til .network-enheder, som kan bruges til at ignorere præfikser ved modtagelse
    meddelelse fra en IPv6-router (RA, Router Advertisement);

  • I .network-enheder er indstillingerne "MulticastFlood=", "NeighborSuppression=" og "Learning=" blevet tilføjet for at ændre driftsparametrene for netværksbroen, samt indstillingen "TripleSampling=" for at ændre TRIPLE-SAMPLING-tilstanden af virtuelle CAN-grænseflader;
  • Indstillingerne “PrivateKeyFile=” og “PresharedKeyFile=” er blevet tilføjet til .netdev-enheder, med hvilke du kan angive private og delte (PSK) nøgler til WireGuard VPN-grænseflader;
  • Tilføjede same-cpu-crypt og submit-from-crypt-cpus muligheder til /etc/crypttab, som styrer planlæggerens adfærd ved migrering af krypteringsrelateret arbejde mellem CPU-kerner;
  • systemd-tmpfiles giver behandling af låsefiler, før du udfører handlinger i mapper med midlertidige filer, hvilket giver dig mulighed for at deaktivere arbejdet med at rense forældede filer under varigheden af ​​visse handlinger (for eksempel, når du udpakker et tar-arkiv i /tmp, kan meget gamle filer være åbnet, som ikke kan slettes før afslutningen af ​​handlingen med dem);
  • Kommandoen "systemd-analyze cat-config" giver mulighed for at analysere en konfiguration opdelt i flere filer, for eksempel bruger- og systemforudindstillinger, indholdet af tmpfiles.d og sysusers.d, udev-regler osv.
  • Tilføjet "--cursor-file=" mulighed til "journalctl" for at angive en fil, der skal indlæses og gemme positionsmarkøren;
  • Tilføjet definition af ACRN-hypervisor og WSL-undersystem (Windows Subsystem til Linux) til systemd-detect-virt til efterfølgende forgrening ved hjælp af den betingede operator "ConditionVirtualization";
  • Under systemd installation (når du udfører "ninja installation"), oprettelse af symbolske links til filerne systemd-networkd.service, systemd-networkd.socket,
    systemd-resolved.service, remote-cryptsetup.target, remote-fs.target,
    systemd-networkd-wait-online.service og systemd-timesyncd.service. For at oprette disse filer skal du nu køre kommandoen "systemctl preset-all".

Kilde: opennet.ru

[:]

Tilføj en kommentar