Systemd System Manager versiunea 257

După șase luni de dezvoltare, a fost prezentată lansarea managerului de sistem systemd 257. Modificări cheie: noi utilități systemd-sbsign și systemd-keyutil, suport pentru MPTCP atunci când este activat printr-un socket, suport inițial pentru construirea cu biblioteca Musl C. utilitar updatectl pentru gestionarea instalării actualizărilor prin systemd-sysupdate, capacitatea de a lansa servicii în spații de nume PID separate, protecție împotriva ștergerii accidentale a fișierelor atunci când se utilizează „systemd-tmpfiles —purge”.

Printre modificările din noua versiune:

  • Добавлена новая утилита systemd-sbsign для заверения цифровой подписью исполняемых файлов в формате PE (Portable Executable), предназначенных для использования при загрузке в режиме EFI Secure Boot. Для формирования подписи могут использоваться движки и провайдеры, предоставляемые библиотекой OpenSSL. Systemd-sbsign может применяться в качестве альтернативы приложениям sbsigntool и pesign в утилите ukify при формировании универсальных образов ядра UKI (Unified Kernel Image), объединяющих в одном файле загрузчик для UEFI (UEFI boot stub), образ ядра Linux и загружаемое в память системное окружение initrd.
  • A fost adăugat un nou utilitar, systemd-keyutil, care implementează diverse operațiuni pe chei private și certificate X.509. De exemplu, systemd-keyutil poate fi folosit pentru a testa capacitatea de a încărca chei private și certificate și pentru a extrage chei publice din ele în format PEM.
  • În unitățile „.socket” utilizate pentru a asigura funcționarea mecanismului de activare a socketului (pornirea proceselor la încercarea de a stabili o conexiune la rețea), este implementat suport pentru MPTCP (Multipath TCP), o extensie a protocolului TCP pentru organizarea funcționării unei conexiuni TCP cu livrarea simultană de pachete pe mai multe rute prin diferite interfețe de rețea legate de diferite... Adresa mea IP.
  • Include modificările necesare pentru a construi folosind biblioteca standard Musl C.
  • В различные компоненты systemd, выводящие индикаторы прогресса выполнения операций (например, systemd-repart, systemd-sysupdate/updatectl и importctl), добавлена возможность использования ANSI-последовательностей для анимирования отображения прогресса. Подобные последовательности пока поддерживаются только в Windows Terminal (предполагается, что со временем подобная возможность будет перенесена и в эмуляторы терминалов для Linux).
  • Capacitățile componentei systemd-sysupdate au fost extinse, utilizate pentru a detecta, descărca și instala automat actualizări folosind un mecanism atomic de înlocuire a partițiilor, fișierelor sau directoarelor (se folosesc două partiții/fișiere/directoare independente, dintre care unul conține resursă, iar celălalt instalează următoarea actualizare), după care se schimbă secțiunile/fișierele/directoarele). În practică, systemd-sysupdate este deja folosit în sistemul de operare GNOME.

    Pe lângă procesul systemd-sysupdate, a fost adăugat un serviciu cu același nume care permite D-Bus să fie utilizat pentru a gestiona actualizările sistemului de către un utilizator neprivilegiat. Pentru a gestiona serviciul, este inclus și un nou utilitar updatectl. S-a adăugat indicatorul „--offline” la systemd-sysupdate pentru a dezactiva descărcarea metadatelor prin rețea și pentru a utiliza numai versiunile deja descărcate în sistemul local. S-a adăugat suport pentru ieșirea în format JSON pentru toate comenzile.

  • A fost implementată o nouă proprietate „PrivatePIDs” pentru servicii, cu ajutorul căreia puteți organiza lansarea proceselor cu PID 1 (proces init) într-un spațiu separat de identificare a procesului (spațiu de nume PID). În mediul creat pentru procesul lansat, vor fi vizibile doar procesele din spațiul de nume creat pentru acesta.
  • S-a adăugat suport pentru potrivirile care nu țin cont de majuscule și minuscule la regulile udev (de exemplu, „ATTR{foo}==i»abcd»). Folosind udev, este posibil să oferiți utilizatorilor locali neprivilegiati acces („uaccess”) la dispozitivul /dev/udmabuf, care este necesar pentru a lucra cu camere IPMI prin libcamera. udev oferă recunoașterea diferitelor portofele criptografice hardware cu o interfață USB și setarea proprietății ID_HARDWARE_WALLET pentru acestea, ceea ce vă permite să le aplicați modul „uaccess” pentru accesul utilizatorilor neprivilegiati.
  • Câmpurile noi RELEASE_TYPE, EXPERIMENT și EXPERIMENT_URL au fost adăugate la fișierul /etc/os-release. „RELEASE_TYPE” poate lua valorile „experimental”, „dezvoltare”, „stable” și „lts” pentru a separa versiunile stabile de versiunile de dezvoltare și experimentale. Parametrii EXPERIMENT și EXPERIMENT_URL au scopul de a explica esența construcției experimentale.
  • Utilitarul run0, dezvoltat ca înlocuitor pentru programul sudo, a adăugat opțiunea „--shell-prompt-prefix”, care specifică șirul de prefix pentru promptul shell-ului de comandă. În mod implicit, emoji „🦸” este afișat ca prefix pentru a evidenția vizual o sesiune ridicată.
  • În systemd-tmpfiles, pentru a evita ștergerea accidentală a fișierelor greșite, opțiunea „--purge” se aplică acum doar setărilor din tmpfiles.d/ care au marcajul „$” setat în mod explicit. Operația „--purge” necesită acum specificarea a cel puțin unui fișier din directorul tmpfiles.d/. Pentru șirurile de caractere de tip „L”, a fost adăugat indicatorul „?”, când este specificat, o legătură simbolică va fi creată numai dacă fișierul țintă există.
  • În managerul de servicii și în utilitățile aferente, codul de urmărire a procesului continuă să fie convertit pentru a utiliza PIDFD în loc de PID. Un PIDFD este asociat cu un anumit proces și nu se modifică, în timp ce un PID poate fi asociat cu un alt proces după ce procesul curent asociat cu acel PID se termină.
  • Pentru servicii, acum este posibil să specificați valoarea „debug” în parametrul „RestartMode”, în care serviciul eșuat va fi repornit cu modul de depanare activat (variabila de mediu DEBUG_INVOCATION=1 este setată), iar valoarea LogLevelMax va fi ridicat temporar la nivelul de depanare.
  • Handler-ul PID 1 are capacitatea de a încărca reguli pentru modulul LSM IPE (Integrity Policy Enforcement), care definesc politica de integritate pentru întregul sistem (ce operațiuni sunt permise și cum trebuie verificată autenticitatea componentelor).
  • Opțiunea „DeferReactivation” a fost adăugată la fișierele unității „.timer”, ceea ce vă permite să săriți peste următoarea activare a temporizatorului dacă serviciul nu și-a încheiat încă execuția de la ultima activare.
  • În parametrul fișierului unitar PrivateUsers, acum este posibil să specificați valoarea „identității” pentru a activa maparea ID-urilor utilizatorului la crearea unui spațiu de nume de utilizator.
  • S-a adăugat suport pentru valoarea „deconectată” la parametrul fișierului de unitate PrivateTmp, care va folosi instanțe tmpfs separate pentru directoarele /tmp/ și /var/tmp/.
  • Suport pentru noile moduri „privat” și „strict” a fost adăugat la parametrul fișierului unității ProtectControlGroups, când este setat, un nou spațiu de nume cgroup este creat pentru serviciu și cgroupfs este montat. Când opțiunea „strict” este setată, cgroupfs este montat în modul doar citire.
  • Parametrii StateDirectory, RuntimeDirectory, CacheDirectory, LogsDirectory și ConfigurationDirectory oferă posibilitatea de a utiliza indicatorul „:ro” pentru a restricționa accesul la directoarele corespunzătoare în modul doar citire.
  • S-a adăugat suport pentru valoarea „firmware” la parametrul liniei de comandă kernel „systemd.machine_id”, în care identificatorul de sistem (ID-ul mașinii) va fi calculat pe baza UUID-ului din SMBIOS/DeviceTree.
  • Добавлена поддержка системных вызовов mseal(), listmount() и statmount(), появившихся в недавних выпусках ядра Linux.
  • Utilitarele resolvectl, timedatectl și systemd-inhibit acceptă acum autorizarea interactivă folosind Polkit.
  • S-a adăugat posibilitatea de a folosi indicatorul „--now” în comanda „reenable” la utilitarul systemctl.
  • S-a adăugat opțiunea „--json” la utilitarul systemd-mount pentru ieșire în format JSON (de exemplu, când este specificat împreună cu „--list-devices”, o listă de dispozitive va fi scoasă în format JSON).
  • S-au adăugat opțiunile „-l” și „--full” la utilitarul „localectl” pentru a dezactiva tăierea liniilor lungi în timpul ieșirii.
  • Opțiunea HibernateOnACPower a fost adăugată la sleep.conf, ceea ce vă permite să amânați trecerea în modul de repaus până când dispozitivul este deconectat de la sursa de alimentare staționară.
  • În systemd-sysusers, la liniile „u” a fost adăugat suport pentru modificatorul „!”, cu care puteți crea conturi de utilizator complet blocate (anterior, se folosea o parolă incorectă pentru a bloca un utilizator, care, de exemplu, nu a condus la blocare în timpul autentificării cheii în SSH).
  • Systemd-coredump adaugă o opțiune „EnterNamespace” care permite accesul la spațiul punctului de montare al oricăror procese blocate pentru a obține simbolurile lor de depanare. În practică, opțiunea poate fi utilă pentru organizarea urmăririi înapoi a fișierelor de bază din aplicațiile care rulează în containere izolate.
  • systemd-logind include procesarea combinației Ctrl-Alt-Shift-Esc pentru a trimite semnalul org.freedesktop.login1.SecureAttentionKey către componentele mediului utilizator cu o solicitare de afișare a unui dialog securizat de conectare. Am implementat setarea „DesignatedMaintenanceTime” pentru a programa automat finalizarea lucrărilor la o oră specificată. Prin analogie cu suportul pentru dispozitivele DRM și evdev, a fost adăugat suport pentru configurarea accesului pentru utilizatorii neprivilegiati la dispozitivele de hidraw (controlere de joc și joystick-uri).
  • systemd-machined acceptă acum autentificări ale clienților neprivilegiate. mașini virtuale și containere. Accesul la funcționalitatea systemd-machined este asigurat prin intermediul API-ului Varlink, pe lângă D-Bus.
  • O nouă secțiune „[IPv6AddressLabel]” a fost adăugată la fișierul de configurare networkd.conf pentru a configura etichetele și prefixele pentru adresele IPv6
  • S-a adăugat opțiunea „--stdin” la comanda „networkctl edit” pentru a obține conținutul fișierului din fluxul standard. S-a adăugat suport pentru editarea și afișarea fișierelor .netdev prin specificarea unei interfețe de rețea la comenzile „networkctl edit” și „networkctl cat”. A fost adăugată opțiunea „--no-ask-password” pentru a dezactiva autorizarea interactivă.
  • S-a adăugat o opțiune „--certificate-source” la utilitarele ukify, bootctl, systemd-keyutil, systemd-measure, systemd-repart și systemd-sbsign pentru a încărca un certificat X.509 prin furnizorul OpenSSL în loc să se încarce direct de la un fişier.
  • systemd-boot adaugă posibilitatea de a utiliza butoanele de volum pentru a vă deplasa în sus și în jos prin meniul de pornire, ceea ce poate fi util pe dispozitive precum smartphone-urile. Suport pentru instalarea bazei de date UEFI Secure Boot în format ESL(db/dbx/…) pentru systemd-boot a fost adăugat la utilitarul bootctl.
  • S-a adăugat opțiunea „--list-invocation” la journalctl pentru a afișa o listă de apeluri de unitate și opțiunea „--invocation” („-I”) pentru a afișa jurnalele asociate doar cu un anumit apel.
  • systemd-nspawn adaugă suport pentru utilizarea neprivilegiată a FUSE (Filesystem in Userspace) în containere. Când utilizați opțiunea „--bind-user”, cheile SSH ale utilizatorului necesare pentru acces prin SSH sunt redirecționate către container.
  • libsystemd a adăugat o nouă interfață de programare „sd-json” care folosește formatul JSON, precum și o interfață „sd-varlink” care utilizează IPC Varlink.
  • Versiunea de bază recomandată a nucleului a fost actualizată la versiunea 5.4, formată în 2019. Anul viitor ei plănuiesc să nu mai accepte nucleele mai vechi și să marcheze lansarea 5.4 ca versiune de bază minimă acceptată.
  • Suportul pentru cgroups v1 a fost depreciat și este dezactivat în mod implicit (pentru a-l activa, trebuie să specificați SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1 pe linia de comandă a nucleului, pe lângă activarea acestuia în setările systemd). Următoarea versiune a systemd 258 intenționează să elimine complet codul legat de cgroups v1. Versiunea Systemd 258 este, de asemenea, programată să elimine suportul pentru scripturile de serviciu System V.

Sursa: opennet.ru

Cumpărați găzduire de încredere pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără găzduire web fiabilă cu protecție DDoS, servere VPS VDS | ProHoster