systemd system manager utgivelse 242

[: ru]

Etter to måneder med utvikling presentert systemansvarlig utgivelse systemd 242. Blant innovasjonene kan vi merke oss støtte for L2TP-tunneler, muligheten til å kontrollere atferden til systemd-login ved omstart gjennom miljøvariabler, støtte for utvidede XBOOTLDR-oppstartspartisjoner for montering /boot, muligheten til å starte opp med en rotpartisjon i overlegg, samt et stort antall nye innstillinger for ulike typer enheter.

Hovedendringer:

  • systemd-networkd gir støtte for L2TP-tunneler;
  • sd-boot og bootctl gir støtte for XBOOTLDR (Extended Boot Loader)-partisjoner designet for å monteres på /boot, i tillegg til ESP-partisjoner montert på /efi eller /boot/efi. Kjerner, innstillinger, initrd- og EFI-bilder kan nå startes opp fra både ESP- og XBOOTLDR-partisjoner. Denne endringen lar deg bruke sd-boot bootloader i mer konservative scenarier, når selve bootloaderen er plassert i ESP, og de innlastede kjernene og tilhørende metadata er plassert i en egen seksjon;
  • Lagt til muligheten til å starte opp med "systemd.volatile=overlay"-alternativet sendt til kjernen, som lar deg plassere rotpartisjonen i overlayfs og organisere arbeidet på toppen av et skrivebeskyttet bilde av rotkatalogen med endringer skrevet til en separat katalog i tmpfs (endringer i denne konfigurasjonen går tapt etter en omstart). I analogi har systemd-nspawn lagt til alternativet "--volatile=overlay" for å bruke lignende funksjonalitet i containere;
  • systemd-nspawn har lagt til "--oci-bundle"-alternativet for å tillate bruk av runtime-bunter for å gi isolert lansering av containere som samsvarer med Open Container Initiative (OCI)-spesifikasjonen. For bruk i kommandolinje- og nspawn-enhetene foreslås støtte for ulike alternativer beskrevet i OCI-spesifikasjonen, for eksempel kan alternativene "--utilgjengelig" og "Utilgjengelig" brukes til å ekskludere deler av filsystemet, og " --console”-alternativer er lagt til for å konfigurere standard utdatastrømmer og "-pipe";
  • Lagt til muligheten til å kontrollere atferden til systemd-login gjennom miljøvariabler: $SYSTEMD_REBOOT_ TO_FIRMWARE_SETUP,
    $SYSTEMD_REBOOT_TO_BOOT_LOADER_MENU og
    $SYSTEMD_REBOOT_ TO_BOOT_LOADER_ENTRY. Ved å bruke disse variablene kan du koble til dine egne omstartsprosessbehandlere (/run/systemd/reboot-to-firmware-setup, /run/systemd/reboot-to-boot-loader-meny og
    /run/systemd/reboot-to-boot-loader-entry) eller deaktiver dem helt (hvis verdien er satt til false);

  • Lagt til alternativer "-boot-load-menu=" og
    “—boot-loader-entry=”, som lar deg velge et spesifikt oppstartsmenyelement eller oppstartsmodus etter en omstart;

  • Lagt til en ny sandbox-isolasjonskommando "RestrictSUIDSGID=", som bruker seccomp for å forby opprettelsen av filer med SUID/SGID-flagg;
  • Sørget for at «NoNewPrivileges»- og «RestrictSUIDSGID»-begrensningene brukes som standard i tjenester med dynamisk bruker-ID-genereringsmodus («DynamicUser» aktivert);
  • Standard MACAddressPolicy=persistent innstilling i .link-filer er endret for å dekke flere enheter. Grensesnittene til nettverksbroer, tunneler (tun, tap) og aggregerte lenker (bond) identifiserer seg ikke med unntak av navnet på nettverksgrensesnittet, så dette navnet brukes nå som grunnlag for å binde MAC- og IPv4-adresser. I tillegg er innstillingen “MACAddressPolicy=random” lagt til, som kan brukes til å binde MAC- og IPv4-adresser til enheter i tilfeldig rekkefølge;
  • ".device"-enhetsfiler generert via systemd-fstab-generator inkluderer ikke lenger de tilsvarende ".mount"-enhetene som avhengigheter i "Wants="-delen. Bare å koble til en enhet starter ikke lenger automatisk en enhet for montering, men slike enheter kan fortsatt startes av andre årsaker, for eksempel som en del av local-fs.target eller som en avhengighet av andre enheter som er avhengige av local-fs.target ;
  • Lagt til støtte for masker ("*", etc.) til "networkctl list/status/lldp"-kommandoene for å filtrere ut visse grupper av nettverksgrensesnitt etter deler av navnet deres;
  • $PIDFILE miljøvariabelen er nå satt ved å bruke den absolutte banen konfigurert i tjenester via parameteren "PIDFile=;".
  • Offentlige Cloudflare-servere (1.1.1.1) er lagt til antallet backup-DNS-servere som brukes hvis hoved-DNS ikke er eksplisitt definert. For å omdefinere listen over backup DNS-servere, kan du bruke "-Ddns-servers="-alternativet;
  • Når det oppdages tilstedeværelse av en USB-enhetskontroller, startes en ny usb-gadget.target-behandler automatisk (når systemet kjører på en USB-tilbehør);
  • For enhetsfiler er "CPUQuotaPeriodSec="-innstillingen implementert, som bestemmer tidsperioden i forhold til som CPU-tidskvoten måles, satt gjennom "CPUQuota="-innstillingen;
  • For enhetsfiler er "ProtectHostname="-innstillingen implementert, som forbyr tjenester fra å endre informasjon om vertsnavnet, selv om de har de riktige tillatelsene;
  • For enhetsfiler er "NetworkNamespacePath="-innstillingen implementert, som lar deg binde et navneområde til tjenester eller socket-enheter ved å spesifisere banen til navneromsfilen i pseudo-FS /proc;
  • Lagt til muligheten til å deaktivere substitusjon av miljøvariabler for prosesser som ble lansert ved å bruke "ExecStart="-innstillingen ved å legge til et ":"-tegn før startkommandoen;
  • For tidtakere (.timer-enheter) nye flagg “OnClockChange=” og
    “OnTimezoneChange=”, som du kan styre enhetsanropet med når systemets tid eller tidssone endres;

  • Lagt til nye innstillinger “ConditionMemory=” og “ConditionCPUs=”, som bestemmer betingelsene for å ringe en enhet avhengig av minnestørrelsen og antall CPU-kjerner (for eksempel kan en ressurskrevende tjeneste bare startes hvis den nødvendige mengden av RAM er tilgjengelig);
  • Lagt til en ny time-set.target-enhet som aksepterer den lokalt innstilte systemtiden, uten å bruke avstemming med eksterne tidsservere som bruker time-sync.target-enheten. Den nye enheten kan brukes av tjenester som trenger nøyaktigheten til usynkroniserte lokale klokker;
  • Alternativet "--show-transaction" er lagt til "systemctl start" og lignende kommandoer, når spesifisert, vises et sammendrag av alle jobber som er lagt til i køen på grunn av den forespurte operasjonen;
  • systemd-networkd implementerer definisjonen av en ny "slavet" tilstand, brukt i stedet for "degradert" eller "bærer" for nettverksgrensesnitt som er en del av aggregerte lenker eller nettverksbroer. For primære grensesnitt, i tilfelle problemer med en av de sammensatte koblingene, er "degradert-bærer"-tilstanden lagt til;
  • Lagt til "IgnoreCarrierLoss="-alternativet til .nettverksenheter for å lagre nettverksinnstillinger i tilfelle tilkobling taps;
  • Gjennom “RequiredForOnline=”-innstillingen i .network-enheter, kan du nå angi minimum akseptable koblingstilstand som kreves for å overføre nettverksgrensesnittet til “online” og utløse systemd-networkd-wait-online handler;
  • Lagt til alternativet "--any" til systemd-networkd-wait-online for å vente på beredskapen til noen av de spesifiserte nettverksgrensesnittene i stedet for alle, samt alternativet "--operational-state=" for å bestemme tilstanden til lenken som indikerer beredskap;
  • Lagt til "UseAutonomousPrefix="- og "UseOnLinkPrefix="-innstillinger til .network-enheter, som kan brukes til å ignorere prefikser ved mottak
    kunngjøring fra en IPv6-ruter (RA, Router Advertisement);

  • I .network-enheter er innstillingene "MulticastFlood=", "NeighborSuppression=" og "Learning=" lagt til for å endre driftsparametrene til nettverksbroen, samt "TripleSampling="-innstillingen for å endre TRIPLE-SAMPLING-modusen av CAN virtuelle grensesnitt;
  • “PrivateKeyFile=” og “PresharedKeyFile=”-innstillinger er lagt til .netdev-enheter, med hvilke du kan spesifisere private og delte (PSK) nøkler for WireGuard VPN-grensesnitt;
  • Lagt til same-cpu-crypt og submit-from-crypt-cpus alternativer til /etc/crypttab, som kontrollerer oppførselen til planleggeren ved migrering av krypteringsrelatert arbeid mellom CPU-kjerner;
  • systemd-tmpfiles gir låsefilbehandling før du utfører operasjoner i kataloger med midlertidige filer, som lar deg deaktivere arbeidet med å rense utdaterte filer for varigheten av visse handlinger (for eksempel når du pakker ut et tar-arkiv i /tmp, kan svært gamle filer være åpnet som ikke kan slettes før slutten av handlingen med dem);
  • Kommandoen "systemd-analyze cat-config" gir muligheten til å analysere en konfigurasjon delt inn i flere filer, for eksempel bruker- og systemforhåndsinnstillinger, innholdet i tmpfiles.d og sysusers.d, udev-regler, etc.
  • Lagt til "--cursor-file="-alternativet til "journalctl" for å spesifisere en fil som skal lastes og lagre posisjonsmarkøren;
  • Lagt til definisjon av ACRN-hypervisor og WSL-undersystem (Windows Subsystem for Linux) til systemd-detect-virt for påfølgende forgrening ved bruk av den betingede operatoren "ConditionVirtualization";
  • Under systemd-installasjon (når du kjører "ninja install"), opprettes symbolske lenker til filene 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 å lage disse filene, må du nå kjøre kommandoen "systemctl preset-all".

Kildeopennet.ru

[En]

Etter to måneder med utvikling presentert systemansvarlig utgivelse systemd 242. Blant innovasjonene kan vi merke oss støtte for L2TP-tunneler, muligheten til å kontrollere atferden til systemd-login ved omstart gjennom miljøvariabler, støtte for utvidede XBOOTLDR-oppstartspartisjoner for montering /boot, muligheten til å starte opp med en rotpartisjon i overlegg, samt et stort antall nye innstillinger for ulike typer enheter.

Hovedendringer:

  • systemd-networkd gir støtte for L2TP-tunneler;
  • sd-boot og bootctl gir støtte for XBOOTLDR (Extended Boot Loader)-partisjoner designet for å monteres på /boot, i tillegg til ESP-partisjoner montert på /efi eller /boot/efi. Kjerner, innstillinger, initrd- og EFI-bilder kan nå startes opp fra både ESP- og XBOOTLDR-partisjoner. Denne endringen lar deg bruke sd-boot bootloader i mer konservative scenarier, når selve bootloaderen er plassert i ESP, og de innlastede kjernene og tilhørende metadata er plassert i en egen seksjon;
  • Lagt til muligheten til å starte opp med "systemd.volatile=overlay"-alternativet sendt til kjernen, som lar deg plassere rotpartisjonen i overlayfs og organisere arbeidet på toppen av et skrivebeskyttet bilde av rotkatalogen med endringer skrevet til en separat katalog i tmpfs (endringer i denne konfigurasjonen går tapt etter en omstart). I analogi har systemd-nspawn lagt til alternativet "--volatile=overlay" for å bruke lignende funksjonalitet i containere;
  • systemd-nspawn har lagt til "--oci-bundle"-alternativet for å tillate bruk av runtime-bunter for å gi isolert lansering av containere som samsvarer med Open Container Initiative (OCI)-spesifikasjonen. For bruk i kommandolinje- og nspawn-enhetene foreslås støtte for ulike alternativer beskrevet i OCI-spesifikasjonen, for eksempel kan alternativene "--utilgjengelig" og "Utilgjengelig" brukes til å ekskludere deler av filsystemet, og " --console”-alternativer er lagt til for å konfigurere standard utdatastrømmer og "-pipe";
  • Lagt til muligheten til å kontrollere atferden til systemd-login gjennom miljøvariabler: $SYSTEMD_REBOOT_ TO_FIRMWARE_SETUP,
    $SYSTEMD_REBOOT_TO_BOOT_LOADER_MENU og
    $SYSTEMD_REBOOT_ TO_BOOT_LOADER_ENTRY. Ved å bruke disse variablene kan du koble til dine egne omstartsprosessbehandlere (/run/systemd/reboot-to-firmware-setup, /run/systemd/reboot-to-boot-loader-meny og
    /run/systemd/reboot-to-boot-loader-entry) eller deaktiver dem helt (hvis verdien er satt til false);

  • Lagt til alternativer "-boot-load-menu=" og
    “—boot-loader-entry=”, som lar deg velge et spesifikt oppstartsmenyelement eller oppstartsmodus etter en omstart;

  • Lagt til en ny sandbox-isolasjonskommando "RestrictSUIDSGID=", som bruker seccomp for å forby opprettelsen av filer med SUID/SGID-flagg;
  • Sørget for at «NoNewPrivileges»- og «RestrictSUIDSGID»-begrensningene brukes som standard i tjenester med dynamisk bruker-ID-genereringsmodus («DynamicUser» aktivert);
  • Standard MACAddressPolicy=persistent innstilling i .link-filer er endret for å dekke flere enheter. Grensesnittene til nettverksbroer, tunneler (tun, tap) og aggregerte lenker (bond) identifiserer seg ikke med unntak av navnet på nettverksgrensesnittet, så dette navnet brukes nå som grunnlag for å binde MAC- og IPv4-adresser. I tillegg er innstillingen “MACAddressPolicy=random” lagt til, som kan brukes til å binde MAC- og IPv4-adresser til enheter i tilfeldig rekkefølge;
  • ".device"-enhetsfiler generert via systemd-fstab-generator inkluderer ikke lenger de tilsvarende ".mount"-enhetene som avhengigheter i "Wants="-delen. Bare å koble til en enhet starter ikke lenger automatisk en enhet for montering, men slike enheter kan fortsatt startes av andre årsaker, for eksempel som en del av local-fs.target eller som en avhengighet av andre enheter som er avhengige av local-fs.target ;
  • Lagt til støtte for masker ("*", etc.) til "networkctl list/status/lldp"-kommandoene for å filtrere ut visse grupper av nettverksgrensesnitt etter deler av navnet deres;
  • $PIDFILE miljøvariabelen er nå satt ved å bruke den absolutte banen konfigurert i tjenester via parameteren "PIDFile=;".
  • Offentlige Cloudflare-servere (1.1.1.1) er lagt til antallet backup-DNS-servere som brukes hvis hoved-DNS ikke er eksplisitt definert. For å omdefinere listen over backup DNS-servere, kan du bruke "-Ddns-servers="-alternativet;
  • Når det oppdages tilstedeværelse av en USB-enhetskontroller, startes en ny usb-gadget.target-behandler automatisk (når systemet kjører på en USB-tilbehør);
  • For enhetsfiler er "CPUQuotaPeriodSec="-innstillingen implementert, som bestemmer tidsperioden i forhold til som CPU-tidskvoten måles, satt gjennom "CPUQuota="-innstillingen;
  • For enhetsfiler er "ProtectHostname="-innstillingen implementert, som forbyr tjenester fra å endre informasjon om vertsnavnet, selv om de har de riktige tillatelsene;
  • For enhetsfiler er "NetworkNamespacePath="-innstillingen implementert, som lar deg binde et navneområde til tjenester eller socket-enheter ved å spesifisere banen til navneromsfilen i pseudo-FS /proc;
  • Lagt til muligheten til å deaktivere substitusjon av miljøvariabler for prosesser som ble lansert ved å bruke "ExecStart="-innstillingen ved å legge til et ":"-tegn før startkommandoen;
  • For tidtakere (.timer-enheter) nye flagg “OnClockChange=” og
    “OnTimezoneChange=”, som du kan styre enhetsanropet med når systemets tid eller tidssone endres;

  • Lagt til nye innstillinger “ConditionMemory=” og “ConditionCPUs=”, som bestemmer betingelsene for å ringe en enhet avhengig av minnestørrelsen og antall CPU-kjerner (for eksempel kan en ressurskrevende tjeneste bare startes hvis den nødvendige mengden av RAM er tilgjengelig);
  • Lagt til en ny time-set.target-enhet som aksepterer den lokalt innstilte systemtiden, uten å bruke avstemming med eksterne tidsservere som bruker time-sync.target-enheten. Den nye enheten kan brukes av tjenester som trenger nøyaktigheten til usynkroniserte lokale klokker;
  • Alternativet "--show-transaction" er lagt til "systemctl start" og lignende kommandoer, når spesifisert, vises et sammendrag av alle jobber som er lagt til i køen på grunn av den forespurte operasjonen;
  • systemd-networkd implementerer definisjonen av en ny "slavet" tilstand, brukt i stedet for "degradert" eller "bærer" for nettverksgrensesnitt som er en del av aggregerte lenker eller nettverksbroer. For primære grensesnitt, i tilfelle problemer med en av de sammensatte koblingene, er "degradert-bærer"-tilstanden lagt til;
  • Lagt til "IgnoreCarrierLoss="-alternativet til .nettverksenheter for å lagre nettverksinnstillinger i tilfelle tilkobling taps;
  • Gjennom “RequiredForOnline=”-innstillingen i .network-enheter, kan du nå angi minimum akseptable koblingstilstand som kreves for å overføre nettverksgrensesnittet til “online” og utløse systemd-networkd-wait-online handler;
  • Lagt til alternativet "--any" til systemd-networkd-wait-online for å vente på beredskapen til noen av de spesifiserte nettverksgrensesnittene i stedet for alle, samt alternativet "--operational-state=" for å bestemme tilstanden til lenken som indikerer beredskap;
  • Lagt til "UseAutonomousPrefix="- og "UseOnLinkPrefix="-innstillinger til .network-enheter, som kan brukes til å ignorere prefikser ved mottak
    kunngjøring fra en IPv6-ruter (RA, Router Advertisement);

  • I .network-enheter er innstillingene "MulticastFlood=", "NeighborSuppression=" og "Learning=" lagt til for å endre driftsparametrene til nettverksbroen, samt "TripleSampling="-innstillingen for å endre TRIPLE-SAMPLING-modusen av CAN virtuelle grensesnitt;
  • “PrivateKeyFile=” og “PresharedKeyFile=”-innstillinger er lagt til .netdev-enheter, med hvilke du kan spesifisere private og delte (PSK) nøkler for WireGuard VPN-grensesnitt;
  • Lagt til same-cpu-crypt og submit-from-crypt-cpus alternativer til /etc/crypttab, som kontrollerer oppførselen til planleggeren ved migrering av krypteringsrelatert arbeid mellom CPU-kjerner;
  • systemd-tmpfiles gir låsefilbehandling før du utfører operasjoner i kataloger med midlertidige filer, som lar deg deaktivere arbeidet med å rense utdaterte filer for varigheten av visse handlinger (for eksempel når du pakker ut et tar-arkiv i /tmp, kan svært gamle filer være åpnet som ikke kan slettes før slutten av handlingen med dem);
  • Kommandoen "systemd-analyze cat-config" gir muligheten til å analysere en konfigurasjon delt inn i flere filer, for eksempel bruker- og systemforhåndsinnstillinger, innholdet i tmpfiles.d og sysusers.d, udev-regler, etc.
  • Lagt til "--cursor-file="-alternativet til "journalctl" for å spesifisere en fil som skal lastes og lagre posisjonsmarkøren;
  • Lagt til definisjon av ACRN-hypervisor og WSL-undersystem (Windows Subsystem for Linux) til systemd-detect-virt for påfølgende forgrening ved bruk av den betingede operatoren "ConditionVirtualization";
  • Under systemd-installasjon (når du kjører "ninja install"), opprettes symbolske lenker til filene 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 å lage disse filene, må du nå kjøre kommandoen "systemctl preset-all".

Kilde: opennet.ru

[:]

Legg til en kommentar