Systemd System Manager versiunea 242

[: ru]

După două luni de dezvoltare prezentat lansarea managerului de sistem sistemd 242. Printre inovații, putem remarca suportul pentru tunelurile L2TP, capacitatea de a controla comportamentul systemd-logind la repornire prin variabile de mediu, suport pentru partițiile extinse de boot XBOOTLDR pentru montarea /boot, capacitatea de a porni cu o partiție rădăcină în suprapuneri, precum și un număr mare de setări noi pentru diferite tipuri de unități.

Principalele modificări:

  • systemd-networkd oferă suport pentru tunelurile L2TP;
  • sd-boot și bootctl oferă suport pentru partițiile XBOOTLDR (Extended Boot Loader) concepute pentru a fi montate pe /boot, în plus față de partițiile ESP montate pe /efi sau /boot/efi. Kernel-urile, setările, imaginile initrd și EFI pot fi acum pornite din ambele partiții ESP și XBOOTLDR. Această modificare vă permite să utilizați bootloader-ul sd-boot în scenarii mai conservatoare, când încărcătorul însuși este localizat în ESP, iar nucleele încărcate și metadatele asociate sunt plasate într-o secțiune separată;
  • S-a adăugat capacitatea de a porni cu opțiunea „systemd.volatile=overlay” transmisă nucleului, care vă permite să plasați partiția rădăcină în overlayfs și să organizați lucrul deasupra unei imagini numai în citire a directorului rădăcină cu modificările scrise într-un director separat în tmpfs (modificările în această configurație se pierd după o repornire) . Prin analogie, systemd-nspawn a adăugat opțiunea „--volatile=overlay” pentru a utiliza funcționalități similare în containere;
  • systemd-nspawn a adăugat opțiunea „--oci-bundle” pentru a permite utilizarea pachetelor de rulare pentru a oferi lansare izolată a containerelor care respectă specificația Open Container Initiative (OCI). Pentru utilizare în linia de comandă și unitățile nspawn, se propune suport pentru diferite opțiuni descrise în specificația OCI, de exemplu, opțiunile „--inaccessible” și „Inaccessible” pot fi utilizate pentru a exclude părți ale sistemului de fișiere și „ Opțiunile --console” au fost adăugate pentru a configura fluxurile de ieșire standard și „-pipe”;
  • S-a adăugat capacitatea de a controla comportamentul systemd-logind prin variabilele de mediu: $SYSTEMD_REBOOT_ TO_FIRMWARE_SETUP,
    $SYSTEMD_REBOOT_TO_BOOT_LOADER_MENU și
    $SYSTEMD_REBOOT_ TO_BOOT_LOADER_ENTRY. Folosind aceste variabile, vă puteți conecta propriile dvs. de gestionare a procesului de repornire (/run/systemd/reboot-to-firmware-setup, /run/systemd/reboot-to-boot-loader-menu și
    /run/systemd/reboot-to-boot-loader-entry) sau dezactivați-le complet (dacă valoarea este setată la false);

  • Opțiuni adăugate „-boot-load-menu=" și
    „—boot-loader-entry=”, permițându-vă să selectați un anumit element din meniul de pornire sau un mod de pornire după o repornire;

  • S-a adăugat o nouă comandă de izolare sandbox „RestrictSUIDSGID=”, care folosește seccomp pentru a interzice crearea de fișiere cu steaguri SUID/SGID;
  • Asigurarea că restricțiile „NoNewPrivileges” și „RestrictSUIDSGID” sunt aplicate implicit în serviciile cu modul de generare dinamică a ID-ului utilizatorului („DynamicUser” activat);
  • Setarea implicită MACAddressPolicy=persistent în fișierele .link a fost modificată pentru a acoperi mai multe dispozitive. Interfețele punților de rețea, tunelurilor (tun, tap) și legăturilor agregate (bond) nu se identifică decât după numele interfeței de rețea, așa că acest nume este acum folosit ca bază pentru legarea adreselor MAC și IPv4. În plus, a fost adăugată setarea „MACAddressPolicy=random”, care poate fi folosită pentru a lega adrese MAC și IPv4 la dispozitive într-o ordine aleatorie;
  • Fișierele unităților „.device” generate prin systemd-fstab-generator nu mai includ unitățile „.mount” corespunzătoare ca dependențe în secțiunea „Wants=". Pur și simplu conectarea unui dispozitiv nu mai lansează automat o unitate de montat, dar astfel de unități pot fi lansate din alte motive, cum ar fi ca parte a local-fs.target sau ca dependență de alte unități care depind de local-fs.target ;
  • S-a adăugat suport pentru măști (“*”, etc.) la comenzile „networkctl list/status/lldp” pentru a filtra anumite grupuri de interfețe de rețea după o parte a numelui lor;
  • Variabila de mediu $PIDFILE este acum setată folosind calea absolută configurată în servicii prin parametrul „PIDFile=;”.
  • Serverele publice Cloudflare (1.1.1.1) au fost adăugate la numărul de servere DNS de rezervă utilizate dacă DNS-ul principal nu este definit în mod explicit. Pentru a redefini lista de servere DNS de rezervă, puteți utiliza opțiunea „-Ddns-servers=";
  • La detectarea prezenței unui controler de dispozitiv USB, un nou handler usb-gadget.target este lansat automat (când sistemul rulează pe un dispozitiv periferic USB);
  • Pentru fișierele de unitate, a fost implementată setarea „CPUQuotaPeriodSec=", care determină perioada de timp în raport cu care se măsoară cota de timp CPU, setată prin setarea „CPUQuota=";
  • Pentru fișierele de unitate, a fost implementată setarea „ProtectHostname=", care interzice serviciilor să schimbe informații despre numele gazdei, chiar dacă au permisiunile corespunzătoare;
  • Pentru fișierele de unitate, a fost implementată setarea „NetworkNamespacePath=", care vă permite să legați un spațiu de nume de servicii sau unități de socket, specificând calea către fișierul de spațiu de nume în pseudo-FS /proc;
  • S-a adăugat capacitatea de a dezactiva înlocuirea variabilelor de mediu pentru procesele lansate utilizând setarea „ExecStart=" prin adăugarea unui caracter „:” înainte de comanda de pornire;
  • Pentru temporizatoare (unități .timer) noi steaguri „OnClockChange=" și
    „OnTimezoneChange=”, cu ajutorul căruia puteți controla apelul unității atunci când ora sistemului sau fusul orar se schimbă;

  • S-au adăugat noi setări „ConditionMemory=” și „ConditionCPUs=”, care determină condițiile pentru apelarea unei unități în funcție de dimensiunea memoriei și de numărul de nuclee CPU (de exemplu, un serviciu care consumă mult resurse poate fi lansat numai dacă cantitatea necesară de RAM este disponibilă);
  • S-a adăugat o nouă unitate time-set.target care acceptă ora de sistem setată local, fără a utiliza reconcilierea cu servere de timp externe folosind unitatea time-sync.target. Noua unitate poate fi utilizată de serviciile care au nevoie de acuratețea ceasurilor locale nesincronizate;
  • Opțiunea „--show-transaction” a fost adăugată la „systemctl start” și comenzi similare, când este specificat, este afișat un rezumat al tuturor joburilor adăugate la coadă din cauza operației solicitate;
  • systemd-networkd implementează definiția unei noi stări „înrobite”, folosită în loc de „degradat” sau „purtător” pentru interfețele de rețea care fac parte din legăturile agregate sau punțile de rețea. Pentru interfețele primare, în cazul unor probleme cu una dintre legăturile compuse, a fost adăugată starea „degradat-carrier”;
  • S-a adăugat opțiunea „IgnoreCarrierLoss=" la unitățile .network pentru a salva setările de rețea în cazul pierderii conexiunii;
  • Prin setarea „RequiredForOnline=" din unitățile .network, acum puteți seta starea minimă acceptabilă a legăturii necesară pentru a transfera interfața de rețea la „online” și pentru a declanșa handlerul systemd-networkd-wait-online;
  • S-a adăugat opțiunea „--any” la systemd-networkd-wait-online pentru a aștepta pregătirea oricăreia dintre interfețele de rețea specificate în loc de toate, precum și opțiunea „--operational-state=" pentru a determina starea linkul care indică disponibilitatea;
  • S-au adăugat setările „UseAutonomousPrefix=" și „UseOnLinkPrefix="=" la unitățile .network, care pot fi folosite pentru a ignora prefixele atunci când se primesc
    anunț de la un router IPv6 (RA, Router Advertisement);

  • În unitățile .network, setările „MulticastFlood=”, „NeighborSuppression=" și „Learning=" au fost adăugate pentru a modifica parametrii de funcționare ai punții de rețea, precum și setarea „TripleSampling=" pentru a schimba modul TRIPLE-SAMPLING a interfețelor virtuale CAN;
  • Setările „PrivateKeyFile=" și „PresharedKeyFile=" au fost adăugate la unitățile .netdev, cu ajutorul cărora puteți specifica chei private și partajate (PSK) pentru interfețele WireGuard VPN;
  • S-au adăugat opțiuni same-cpu-crypt și submit-from-crypt-cpus la /etc/crypttab, care controlează comportamentul planificatorului la migrarea lucrărilor legate de criptare între nucleele CPU;
  • systemd-tmpfiles oferă procesarea fișierelor de blocare înainte de a efectua operațiuni în directoare cu fișiere temporare, ceea ce vă permite să dezactivați activitatea de curățare a fișierelor învechite pe durata anumitor acțiuni (de exemplu, când despachetați o arhivă tar în /tmp, fișierele foarte vechi pot fi deschise care nu pot fi șterse înainte de sfârșitul acțiunii cu ei);
  • Comanda „systemd-analyze cat-config” oferă posibilitatea de a analiza o configurație împărțită în mai multe fișiere, de exemplu, presetări de utilizator și de sistem, conținutul tmpfiles.d și sysusers.d, reguli udev etc.
  • S-a adăugat opțiunea „--cursor-file=" la „journalctl” pentru a specifica un fișier pentru a încărca și a salva cursorul de poziție;
  • S-a adăugat definiția hypervisorului ACRN și a subsistemului WSL (subsistem Windows pentru Linux) la systemd-detect-virt pentru ramificarea ulterioară folosind operatorul condiționat „ConditionVirtualization”;
  • În timpul instalării systemd (când se execută „ninja install”), crearea de legături simbolice către fișierele systemd-networkd.service, systemd-networkd.socket,
    systemd-resolved.service, remote-cryptsetup.target, remote-fs.target,
    systemd-networkd-wait-online.service și systemd-timesyncd.service. Pentru a crea aceste fișiere, acum trebuie să rulați comanda „systemctl preset-all”.

Sursăopennet.ru

[En]

După două luni de dezvoltare prezentat lansarea managerului de sistem sistemd 242. Printre inovații, putem remarca suportul pentru tunelurile L2TP, capacitatea de a controla comportamentul systemd-logind la repornire prin variabile de mediu, suport pentru partițiile extinse de boot XBOOTLDR pentru montarea /boot, capacitatea de a porni cu o partiție rădăcină în suprapuneri, precum și un număr mare de setări noi pentru diferite tipuri de unități.

Principalele modificări:

  • systemd-networkd oferă suport pentru tunelurile L2TP;
  • sd-boot și bootctl oferă suport pentru partițiile XBOOTLDR (Extended Boot Loader) concepute pentru a fi montate pe /boot, în plus față de partițiile ESP montate pe /efi sau /boot/efi. Kernel-urile, setările, imaginile initrd și EFI pot fi acum pornite din ambele partiții ESP și XBOOTLDR. Această modificare vă permite să utilizați bootloader-ul sd-boot în scenarii mai conservatoare, când încărcătorul însuși este localizat în ESP, iar nucleele încărcate și metadatele asociate sunt plasate într-o secțiune separată;
  • S-a adăugat capacitatea de a porni cu opțiunea „systemd.volatile=overlay” transmisă nucleului, care vă permite să plasați partiția rădăcină în overlayfs și să organizați lucrul deasupra unei imagini numai în citire a directorului rădăcină cu modificările scrise într-un director separat în tmpfs (modificările în această configurație se pierd după o repornire) . Prin analogie, systemd-nspawn a adăugat opțiunea „--volatile=overlay” pentru a utiliza funcționalități similare în containere;
  • systemd-nspawn a adăugat opțiunea „--oci-bundle” pentru a permite utilizarea pachetelor de rulare pentru a oferi lansare izolată a containerelor care respectă specificația Open Container Initiative (OCI). Pentru utilizare în linia de comandă și unitățile nspawn, se propune suport pentru diferite opțiuni descrise în specificația OCI, de exemplu, opțiunile „--inaccessible” și „Inaccessible” pot fi utilizate pentru a exclude părți ale sistemului de fișiere și „ Opțiunile --console” au fost adăugate pentru a configura fluxurile de ieșire standard și „-pipe”;
  • S-a adăugat capacitatea de a controla comportamentul systemd-logind prin variabilele de mediu: $SYSTEMD_REBOOT_ TO_FIRMWARE_SETUP,
    $SYSTEMD_REBOOT_TO_BOOT_LOADER_MENU și
    $SYSTEMD_REBOOT_ TO_BOOT_LOADER_ENTRY. Folosind aceste variabile, vă puteți conecta propriile dvs. de gestionare a procesului de repornire (/run/systemd/reboot-to-firmware-setup, /run/systemd/reboot-to-boot-loader-menu și
    /run/systemd/reboot-to-boot-loader-entry) sau dezactivați-le complet (dacă valoarea este setată la false);

  • Opțiuni adăugate „-boot-load-menu=" și
    „—boot-loader-entry=”, permițându-vă să selectați un anumit element din meniul de pornire sau un mod de pornire după o repornire;

  • S-a adăugat o nouă comandă de izolare sandbox „RestrictSUIDSGID=”, care folosește seccomp pentru a interzice crearea de fișiere cu steaguri SUID/SGID;
  • Asigurarea că restricțiile „NoNewPrivileges” și „RestrictSUIDSGID” sunt aplicate implicit în serviciile cu modul de generare dinamică a ID-ului utilizatorului („DynamicUser” activat);
  • Setarea implicită MACAddressPolicy=persistent în fișierele .link a fost modificată pentru a acoperi mai multe dispozitive. Interfețele punților de rețea, tunelurilor (tun, tap) și legăturilor agregate (bond) nu se identifică decât după numele interfeței de rețea, așa că acest nume este acum folosit ca bază pentru legarea adreselor MAC și IPv4. În plus, a fost adăugată setarea „MACAddressPolicy=random”, care poate fi folosită pentru a lega adrese MAC și IPv4 la dispozitive într-o ordine aleatorie;
  • Fișierele unităților „.device” generate prin systemd-fstab-generator nu mai includ unitățile „.mount” corespunzătoare ca dependențe în secțiunea „Wants=". Pur și simplu conectarea unui dispozitiv nu mai lansează automat o unitate de montat, dar astfel de unități pot fi lansate din alte motive, cum ar fi ca parte a local-fs.target sau ca dependență de alte unități care depind de local-fs.target ;
  • S-a adăugat suport pentru măști (“*”, etc.) la comenzile „networkctl list/status/lldp” pentru a filtra anumite grupuri de interfețe de rețea după o parte a numelui lor;
  • Variabila de mediu $PIDFILE este acum setată folosind calea absolută configurată în servicii prin parametrul „PIDFile=;”.
  • Serverele publice Cloudflare (1.1.1.1) au fost adăugate la numărul de servere DNS de rezervă utilizate dacă DNS-ul principal nu este definit în mod explicit. Pentru a redefini lista de servere DNS de rezervă, puteți utiliza opțiunea „-Ddns-servers=";
  • La detectarea prezenței unui controler de dispozitiv USB, un nou handler usb-gadget.target este lansat automat (când sistemul rulează pe un dispozitiv periferic USB);
  • Pentru fișierele de unitate, a fost implementată setarea „CPUQuotaPeriodSec=", care determină perioada de timp în raport cu care se măsoară cota de timp CPU, setată prin setarea „CPUQuota=";
  • Pentru fișierele de unitate, a fost implementată setarea „ProtectHostname=", care interzice serviciilor să schimbe informații despre numele gazdei, chiar dacă au permisiunile corespunzătoare;
  • Pentru fișierele de unitate, a fost implementată setarea „NetworkNamespacePath=", care vă permite să legați un spațiu de nume de servicii sau unități de socket, specificând calea către fișierul de spațiu de nume în pseudo-FS /proc;
  • S-a adăugat capacitatea de a dezactiva înlocuirea variabilelor de mediu pentru procesele lansate utilizând setarea „ExecStart=" prin adăugarea unui caracter „:” înainte de comanda de pornire;
  • Pentru temporizatoare (unități .timer) noi steaguri „OnClockChange=" și
    „OnTimezoneChange=”, cu ajutorul căruia puteți controla apelul unității atunci când ora sistemului sau fusul orar se schimbă;

  • S-au adăugat noi setări „ConditionMemory=” și „ConditionCPUs=”, care determină condițiile pentru apelarea unei unități în funcție de dimensiunea memoriei și de numărul de nuclee CPU (de exemplu, un serviciu care consumă mult resurse poate fi lansat numai dacă cantitatea necesară de RAM este disponibilă);
  • S-a adăugat o nouă unitate time-set.target care acceptă ora de sistem setată local, fără a utiliza reconcilierea cu servere de timp externe folosind unitatea time-sync.target. Noua unitate poate fi utilizată de serviciile care au nevoie de acuratețea ceasurilor locale nesincronizate;
  • Opțiunea „--show-transaction” a fost adăugată la „systemctl start” și comenzi similare, când este specificat, este afișat un rezumat al tuturor joburilor adăugate la coadă din cauza operației solicitate;
  • systemd-networkd implementează definiția unei noi stări „înrobite”, folosită în loc de „degradat” sau „purtător” pentru interfețele de rețea care fac parte din legăturile agregate sau punțile de rețea. Pentru interfețele primare, în cazul unor probleme cu una dintre legăturile compuse, a fost adăugată starea „degradat-carrier”;
  • S-a adăugat opțiunea „IgnoreCarrierLoss=" la unitățile .network pentru a salva setările de rețea în cazul pierderii conexiunii;
  • Prin setarea „RequiredForOnline=" din unitățile .network, acum puteți seta starea minimă acceptabilă a legăturii necesară pentru a transfera interfața de rețea la „online” și pentru a declanșa handlerul systemd-networkd-wait-online;
  • S-a adăugat opțiunea „--any” la systemd-networkd-wait-online pentru a aștepta pregătirea oricăreia dintre interfețele de rețea specificate în loc de toate, precum și opțiunea „--operational-state=" pentru a determina starea linkul care indică disponibilitatea;
  • S-au adăugat setările „UseAutonomousPrefix=" și „UseOnLinkPrefix="=" la unitățile .network, care pot fi folosite pentru a ignora prefixele atunci când se primesc
    anunț de la un router IPv6 (RA, Router Advertisement);

  • În unitățile .network, setările „MulticastFlood=”, „NeighborSuppression=" și „Learning=" au fost adăugate pentru a modifica parametrii de funcționare ai punții de rețea, precum și setarea „TripleSampling=" pentru a schimba modul TRIPLE-SAMPLING a interfețelor virtuale CAN;
  • Setările „PrivateKeyFile=" și „PresharedKeyFile=" au fost adăugate la unitățile .netdev, cu ajutorul cărora puteți specifica chei private și partajate (PSK) pentru interfețele WireGuard VPN;
  • S-au adăugat opțiuni same-cpu-crypt și submit-from-crypt-cpus la /etc/crypttab, care controlează comportamentul planificatorului la migrarea lucrărilor legate de criptare între nucleele CPU;
  • systemd-tmpfiles oferă procesarea fișierelor de blocare înainte de a efectua operațiuni în directoare cu fișiere temporare, ceea ce vă permite să dezactivați activitatea de curățare a fișierelor învechite pe durata anumitor acțiuni (de exemplu, când despachetați o arhivă tar în /tmp, fișierele foarte vechi pot fi deschise care nu pot fi șterse înainte de sfârșitul acțiunii cu ei);
  • Comanda „systemd-analyze cat-config” oferă posibilitatea de a analiza o configurație împărțită în mai multe fișiere, de exemplu, presetări de utilizator și de sistem, conținutul tmpfiles.d și sysusers.d, reguli udev etc.
  • S-a adăugat opțiunea „--cursor-file=" la „journalctl” pentru a specifica un fișier pentru a încărca și a salva cursorul de poziție;
  • S-a adăugat definiția hypervisorului ACRN și a subsistemului WSL (subsistem Windows pentru Linux) la systemd-detect-virt pentru ramificarea ulterioară folosind operatorul condiționat „ConditionVirtualization”;
  • În timpul instalării systemd (când se execută „ninja install”), crearea de legături simbolice către fișierele systemd-networkd.service, systemd-networkd.socket,
    systemd-resolved.service, remote-cryptsetup.target, remote-fs.target,
    systemd-networkd-wait-online.service și systemd-timesyncd.service. Pentru a crea aceste fișiere, acum trebuie să rulați comanda „systemctl preset-all”.

Sursa: opennet.ru

[:]

Adauga un comentariu