Vydání systémového správce systemd 242

Po dvou měsících vývoje byl uveden na trh systémový správce systemd 242. Z novinek lze zmínit podporu L2TP tunelů, možnost řízení chování systemd-logind při restartování pomocí proměnných prostředí, podporu rozšířených bootovacích oddílů XBOOTLDR pro připojení k /boot, možnost spuštění s kořenovým oddílem v overlayfs, a také velké množství nových nastavení pro různé typy jednotek.

Hlavní změny:

  • V systemd-networkd byla zajištěna podpora L2TP tunelů;
  • V sd-boot a bootctl byla implementována podpora oddílů XBOOTLDR (Extended Boot Loader), určených pro připojení k /boot, vedle oddílů ESP připojených k /efi nebo /boot/efi. Jádra, nastavení, obrazy initrd a EFI nyní mohou být načítána jak z oddílů ESP, tak z oddílů XBOOTLDR. Tato změna umožňuje používat bootloader sd-boot v konzervativnějších scénářích, kdy je samotný bootloader umístěn v ESP a načítaná jádra a související metadata jsou umístěny na samostatném oddílu;
  • Byla přidána možnost spuštění s předáváním jádru voleb „systemd.volatile=overlay“, což umožňuje umístit kořenový oddíl do overlayfs a upravit práci na základě pouze pro čtení obrazu kořenového adresáře s ukládáním změn do samostatného adresáře v tmpfs (změny v takové konfiguraci se ztrácí po restartování). Analogicky přidána volba „—volatile=overlay“ v systemd-nspawn pro využití podobné funkčnosti v kontejnerech;
  • V systemd-nspawn byla přidána volba „—oci-bundle“, která umožňuje používat soupravy runtime k zajištění izolovaného spuštění kontejnerů, odpovídajících požadavkům specifikace Open Container Initiative (OCI). Pro použití v příkazovém řádku a nspawn jednotkách byla navržena podpora různých voleb popsaných ve specifikaci OCI, například pro vyloučení částí souborového systému mohou být použity nastavení „—inaccessible“ a „Inaccessible“, a pro nastavení standardních výstupních proudů byly přidány možnosti „—console“ a „—pipe“;
  • Byla přidána možnost řízení chování systemd-logind pomocí proměnných prostředí: $SYSTEMD_REBOOT_TO_FIRMWARE_SETUP,
    $SYSTEMD_REBOOT_TO_BOOT_LOADER_MENU a
    $SYSTEMD_REBOOT_TO_BOOT_LOADER_ENTRY. Pomocí těchto proměnných lze připojit vlastní zpracovatele procesu restartu (/run/systemd/reboot-to-firmware-setup, /run/systemd/reboot-to-boot-loader-menu a
    /run/systemd/reboot-to-boot-loader-entry) или вообще отключить их (при выставлении значения в false);
  • Do příkazu „systemctl reboot“ byly přidány volby „—boot-load-menu=“ a
    „—boot-loader-entry=“, které po restartu umožňují vybrat konkrétní položku v zaváděcím menu nebo režimu spuštění;
  • Přidán nový příkaz sandboxové izolace „RestrictSUIDSGID=“, který používá seccomp k zákazu vytváření souborů se značkami SUID/SGID;
  • Zajištěno použití výchozích omezení „NoNewPrivileges“ a „RestrictSUIDSGID“ v službách s povoleným režimem dynamického generování identifikátorů uživatele („DynamicUser“);
  • Výchozí nastavení v .link souborech MACAddressPolicy=persistent bylo změněno tak, aby pokrylo větší množství zařízení. Rozhraní síťových mostů, tunelů (tun, tap) a agregovaných odkazů (bond) se neidentifikují jinak než podle názvu síťového rozhraní, a proto je tento název nyní používán jako základ pro vazbu MAC a IPv4 adres. Kromě toho bylo přidáno nastavení „MACAddressPolicy=random“, které lze použít pro náhodné vazby MAC a IPv4 adres na zařízení;
  • Unit soubory „.device“ generované přes systemd-fstab-generator nyní neobsahují odpovídající jednotky „.mount“ jako závislosti v sekci „Wants=“. Jednoduché připojení zařízení nyní nevede k automatickému spuštění jednotky pro montování, ale takové jednotky mohou být stále spuštěny z jiných důvodů, například jako součást local-fs.target nebo jako závislost jiných jednotek závislých na local-fs.target;
  • Do příkazů „networkctl list/status/lldp“ byla přidána podpora masek („*“ atd.) pro filtrování určitých skupin síťových rozhraní podle částí jejich názvu;
  • Proměnná prostředí $PIDFILE je nyní nastavena s použitím absolutní cesty, nakonfigurované ve službách pomocí parametru „PIDFile=;“
  • Mezi záložními DNS servery, které se používají, pokud není výslovně definován primární DNS, byly přidány veřejné servery Cloudflare (1.1.1.1). Pro přepsání seznamu záložních DNS serverů lze použít možnost „-Ddns-servers=“;
  • Při detekci přítomnosti řadiče USB zařízení (USB Device Controller) je zajištěno automatické spuštění nového zpracovatele usb-gadget.target (když systém funguje na periferii USB);
  • Pro unit soubory byla implementována konfigurace „CPUQuotaPeriodSec=“, která určuje časové období, vůči kterému se měří kvóta na procesorový čas určená pomocí nastavení „CPUQuota=“;
  • Pro unit souborů byla implementována možnost „ProtectHostname=“, která zakazuje službám měnit informace o názvu hostitele, i když mají příslušná oprávnění;
  • Pro unit soubory byla implementována možnost „NetworkNamespacePath=“, která umožňuje přiřadit prostor názvů k službám nebo socket unitům uvedením cesty k souboru prostoru názvů v pseudo-FS /proc;
  • Byla přidána možnost deaktivace substituce proměnných prostředí pro procesy spouštěné pomocí možnosti „ExecStart=“ přidáním znaku „:“ před příkaz spuštění;
  • Pro časovače (unit .timer) byly navrženy nové příznaky „OnClockChange=“ a
    „OnTimezoneChange=“, pomocí nichž lze řídit volání unit při změně systémového času nebo časového pásma;
  • Byly přidány nové možnosti „ConditionMemory=“ a „ConditionCPUs=“, které určují podmínky pro vyvolání unit v závislosti na velikosti paměti a počtu CPU jader (například výpočetně náročnou službu lze spouštět pouze za předpokladu, že je k dispozici požadované množství RAM);
  • Byl přidán nový unit time-set.target, který přijímá místně nastavený systémový čas bez použití synchronizace s externími servery přesně určeného času pomocí unit time-sync.target. Nový unit může být použit službami, které potřebují pouze přesnost nesynchronizovaných místních hodin;
  • Do příkazu „systemctl start“ a podobné byly přidány možnosti „—show-transaction“, při jejímž použití se zobrazí shrnutí všech úloh přidaných do fronty v důsledku požadované operace;
  • V systemd-networkd byla implementována nová stavová definice 'enslaved', která se používá místo 'degraded' nebo 'carrier' pro síťové rozhraní, které jsou součástí agregovaných spojů nebo síťových mostů. Pro primární rozhraní bylo v případě problémů s jedním z komponentních spojů přidáno stav 'degraded-carrier';
  • Do unit .network byla přidána možnost „IgnoreCarrierLoss=“, která uchovává síťová nastavení v případě přerušení spojení;
  • Pomocí možnosti „RequiredForOnline=“ v unit .network nyní lze nastavit minimálně přípustný stav spojení potřebný pro převod síťového rozhraní do stavu „online“ a pro spuštění zpracovatele systemd-networkd-wait-online;
  • Do systemd-networkd-wait-online byla přidána možnost „—any“ pro čekání na připravenost jakéhokoli ze zadaných síťových rozhraní namísto všech, a také možnost „—operational-state=“, která určuje stav spojení, který indikuje připravenost;
  • V .network byly přidány možnosti „UseAutonomousPrefix=“ a „UseOnLinkPrefix=“, které lze použít k ignorování prefixů při získávání
    oznámení od směrovače IPv6 (RA, Router Advertisement);
  • V .network byly přidány možnosti „MulticastFlood=“, „NeighborSuppression=“ a „Learning=“ pro změnu parametrů fungování síťového mostu, jakož i nastavení „TripleSampling=“ pro změnu režimu TRIPLE-SAMPLING virtuálních rozhraní CAN;
  • V .netdev byly přidány možnosti „PrivateKeyFile=“ a „PresharedKeyFile=“, pomocí kterých můžete specifikovat soukromé a sdílené (PSK) klíče pro rozhraní WireGuard. VPN;
  • Do /etc/crypttab byly přidány volby same-cpu-crypt a submit-from-crypt-cpus, které řídí chování plánovače při migraci mezi jádry CPU prací spojených s šifrováním;
  • Ve systemd-tmpfiles byla zajištěna správa souboru zámku před provedením operací v adresářích s dočasnými soubory, což umožňuje dočasně pozastavit čištění zastaralých souborů (například při rozbalování tar archivu do /tmp mohou být odhaleny velmi staré soubory, které nelze odstranit před dokončením operací s nimi);
  • V příkazu „systemd-analyze cat-config“ byla zajištěna možnost analýzy konfigurace rozptýlené do několika souborů, jako jsou uživatelská a systémová přednastavení, obsah tmpfiles.d a sysusers.d, pravidla udev atd.
  • Do „journalctl“ byla přidána volba „—cursor-file=“ pro určení souboru pro načtení a uložení ukazatele pozice;
  • V systemd-detect-virt bylo přidáno určení hypervisoru ACRN a subsystému WSL (Windows Subsystem for Linux) pro následné větvení pomocí podmínkového operátoru „ConditionVirtualization“;
  • Během instalace systemd (při provádění „ninja install“) bylo zastaveno vytváření symbolických odkazů na soubory systemd-networkd.service, systemd-networkd.socket,
    systemd-resolved.service, remote-cryptsetup.target, remote-fs.target,
    systemd-networkd-wait-online.service a systemd-timesyncd.service. Pro vytvoření těchto souborů je nyní nutné provést příkaz „systemctl preset-all“.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster