Kuuden kuukauden kehitystyön jälkeen esiteltiin järjestelmänhallinnan systemd 257 julkaisu Tärkeimmät muutokset: uudet apuohjelmat systemd-sbsign ja systemd-keyutil, tuki MPTCP:lle aktivoituna pistorasian kautta, alustava tuki rakentamiseen Musl C -kirjaston avulla. updatectl-apuohjelma päivitysten asennuksen hallintaan systemd-sysupdaten kautta, kyky suorittaa palveluita erillisissä PID-nimiavaruuksissa, suojaus tiedostojen tahattomalta poistamiselta käytettäessä "systemd-tmpfiles —purge".
Uuden julkaisun muutoksista:
- Добавлена новая утилита systemd-sbsign для заверения цифровой подписью исполняемых файлов в формате PE (Portable Executable), предназначенных для использования при загрузке в режиме EFI Secure Boot. Для формирования подписи могут использоваться движки и провайдеры, предоставляемые библиотекой OpenSSL. Systemd-sbsign может применяться в качестве альтернативы приложениям sbsigntool и pesign в утилите ukify при формировании универсальных образов ядра UKI (Unified Kernel Image), объединяющих в одном файле загрузчик для UEFI (UEFI boot stub), образ ядра Linux и загружаемое в память системное окружение initrd.
- Uusi apuohjelma, systemd-keyutil, on lisätty, joka toteuttaa erilaisia toimintoja yksityisillä avaimilla ja X.509-varmenteilla. Esimerkiksi systemd-keyutililla voidaan testata kykyä ladata yksityisiä avaimia ja varmenteita ja poimia niistä julkisia avaimia PEM-muodossa.
- Soketin aktivointimekanismin toiminnan varmistamiseksi (prosessien käynnistäminen verkkoyhteyden muodostamisen yhteydessä) käytetyissä ".socket"-yksiköissä on tuki MPTCP:lle (Multipath TCP), TCP-protokollan laajennukselle TCP-yhteyden toiminnan järjestämiseksi pakettien toimituksella samanaikaisesti useilla reiteillä eri verkkoliitäntöjen kautta, jotka on sidottu eri IP-osoitteet.
- Sisältää muutokset, jotka tarvitaan rakentamiseen käyttämällä standardia Musl C -kirjastoa.
- В различные компоненты systemd, выводящие индикаторы прогресса выполнения операций (например, systemd-repart, systemd-sysupdate/updatectl и importctl), добавлена возможность использования ANSI-последовательностей для анимирования отображения прогресса. Подобные последовательности пока поддерживаются только в Windows Terminal (предполагается, что со временем подобная возможность будет перенесена и в эмуляторы терминалов для Linux).
- Systemd-sysupdate-komponentin ominaisuuksia on laajennettu, ja niitä käytetään päivitysten automaattiseen havaitsemiseen, lataamiseen ja asentamiseen käyttämällä atomimekanismia osioiden, tiedostojen tai hakemistojen korvaamiseen (käytetään kahta itsenäistä osiota/tiedostoa/hakemistoa, joista toinen sisältää nykyisen työskentelyn resurssi ja toinen asentaa seuraavan) päivityksen, jonka jälkeen osiot/tiedostot/hakemistot vaihdetaan). Käytännössä systemd-sysupdate on jo käytössä GNOME-käyttöjärjestelmässä.
Systemd-sysupdate-prosessin lisäksi on lisätty samanniminen palvelu, jonka avulla D-Bus voi hallita järjestelmäpäivityksiä etuoikeutettujen käyttäjien toimesta. Palvelun hallintaan sisältyy myös uusi updatectl-apuohjelma. Systemd-sysupdataan lisätty "--offline"-merkki, joka estää metatietojen lataamisen verkon kautta ja käyttää vain paikalliseen järjestelmään jo ladattuja versioita. Lisätty tuki JSON-muodossa kaikille komennoille.
- Palveluille on otettu käyttöön uusi ominaisuus "PrivatePIDs", jolla voidaan järjestää prosessien käynnistäminen PID 1:llä (init process) erillisessä prosessitunnistetilassa (PID-nimiavaruudessa). Käynnistettyä prosessia varten luodussa ympäristössä näkyvät vain sille luodun nimitilan prosessit.
- Lisätty tuki udev-sääntöjen osuuksille, joissa kirjainkoolla ei ole merkitystä (esim. 'ATTR{foo}==i»abcd»'). Udev:n avulla on mahdollista tarjota etuoikeutetuille paikallisille käyttäjille pääsy ("uaccess") /dev/udmabuf-laitteeseen, mikä on välttämätöntä IPMI-kameroiden kanssa työskentelyssä libcameran kautta. udev tunnistaa eri laitteistosalauslompakot USB-liitännällä ja asettaa niille ID_HARDWARE_WALLET-ominaisuuden, jonka avulla voit käyttää niihin "uaccess"-tilaa etuoikeutettujen käyttäjien pääsyä varten.
- Uudet kentät RELEASE_TYPE, EXPERIMENT ja EXPERIMENT_URL on lisätty /etc/os-release-tiedostoon. "RELEASE_TYPE" voi käyttää arvoja "experimental", "development", "stable" ja "lts" erottamaan vakaat versiot kehitys- ja kokeellisista koontiversioista. Parametrit EXPERIMENT ja EXPERIMENT_URL on tarkoitettu selittämään kokeellisen koontiversion ydin.
- Run0-apuohjelma, joka on kehitetty korvaamaan sudo-ohjelman, on lisännyt "--shell-prompt-prefix" -vaihtoehdon, joka määrittää komentotulkkikehotteen etuliitemerkkijonon. Oletuksena emoji "🦸" näytetään etuliitteenä korostamaan kohonnutta istuntoa visuaalisesti.
- Systemd-tmpfilesissa, jotta vältytään väärien tiedostojen poistamiselta vahingossa, "--purge"-vaihtoehto koskee nyt vain tiedoston tmpfiles.d/ asetuksia, joissa "$"-lippu on nimenomaisesti asetettu. "--purge"-toiminto edellyttää nyt myös vähintään yhden tiedoston määrittämistä tmpfiles.d/-hakemistosta. Merkkijonoihin, joiden tyyppi on 'L', on lisätty lippu. Kun se on määritetty, symbolinen linkki luodaan vain, jos kohdetiedosto on olemassa.
- Palvelunhallinnassa ja siihen liittyvissä apuohjelmissa prosessinseurantakoodi muunnetaan edelleen käyttämään PIDFD:tä PID:n sijaan. PIDFD liittyy tiettyyn prosessiin eikä muutu, kun taas PID voidaan liittää toiseen prosessiin sen jälkeen, kun tähän PID:hen liittyvä nykyinen prosessi päättyy.
- Palveluille on nyt mahdollista määrittää "RestartMode"-parametriin arvo "debug", jossa epäonnistunut palvelu käynnistetään uudelleen debug-tilan ollessa käytössä (ympäristömuuttuja DEBUG_INVOCATION=1 on asetettu), ja LogLevelMax-arvoksi tulee tilapäisesti nostettu virheenkorjaustasolle.
- PID 1 -käsittelijä pystyy lataamaan IPE (Integrity Policy Enforcement) LSM-moduulin sääntöjä, jotka määrittelevät koko järjestelmän eheyskäytännön (mitkä toiminnot ovat sallittuja ja miten komponenttien aitous tulee varmistaa).
- ".timer"-yksikkötiedostoihin on lisätty vaihtoehto "DeferReactivation", jonka avulla voit ohittaa seuraavan ajastimen aktivoinnin, jos palvelu ei ole vielä suorittanut suoritustaan loppuun edellisen aktivoinnin jälkeen.
- PrivateUsers-yksikkötiedostoparametrissa on nyt mahdollista määrittää "identiteetti"-arvo, joka mahdollistaa käyttäjätunnusten yhdistämisen käyttäjän nimiavaruutta luotaessa.
- Lisätty tuki "irrotettu"-arvolle PrivateTmp-yksikkötiedostoparametriin, joka käyttää erillisiä tmpfs-esiintymiä /tmp/- ja /var/tmp/-hakemistoille.
- Uusien "yksityisten" ja "tiukkojen" tilojen tuki on lisätty ProtectControlGroups-yksikkötiedostoparametriin. Kun se on asetettu, palvelulle luodaan uusi cgroup-nimiavaruus ja cgroupfs liitetään. Kun "tiukka" vaihtoehto on asetettu, cgroupfs asennetaan vain luku -tilaan.
- StateDirectory-, RuntimeDirectory-, CacheDirectory-, LogsDirectory- ja ConfigurationDirectory-parametrit mahdollistavat ':ro'-lipun käytön rajoittamaan pääsyä vastaaviin hakemistoihin vain luku -tilaan.
- Lisätty tuki “firmware”-arvolle “systemd.machine_id”-ytimen komentoriviparametrille, jossa järjestelmän tunniste (konetunnus) lasketaan SMBIOS/DeviceTreen UUID:n perusteella.
- Добавлена поддержка системных вызовов mseal(), listmount() и statmount(), появившихся в недавних выпусках ядра Linux.
- Resoluctl-, timedatectl- ja systemd-inhibit-apuohjelmat tukevat nyt vuorovaikutteista valtuutusta Polkitin avulla.
- Lisätty mahdollisuus käyttää "--now"-lippua "reenable"-komennossa systemctl-apuohjelmaan.
- Lisätty "--json" -vaihtoehto systemd-mount-apuohjelmaan JSON-muodossa tulostamista varten (jos esimerkiksi määritetään yhdessä "--list-devices" kanssa, laiteluettelo tulostetaan JSON-muodossa.
- Lisätty "-l"- ja "--full"-vaihtoehdot "localectl"-apuohjelmaan, jotta pitkien rivien leikkaaminen voidaan estää tulostuksen aikana.
- Sleep.conf-tiedostoon on lisätty HibernateOnACPower-vaihtoehto, jonka avulla voit viivyttää siirtymistä lepotilaan, kunnes laite irrotetaan kiinteästä virtalähteestä.
- Systemd-sysusersissa "u"-riville on lisätty tuki "!"-muokkaimelle, jolla voidaan luoda täysin lukittuja käyttäjätilejä (aiemmin käyttäjä estettiin väärän salasanan asettamisella, mikä esim. ei johtanut estämiseen SSH:n avaintodennuksen aikana).
- Systemd-coredump lisää "EnterNamespace"-vaihtoehdon, joka mahdollistaa pääsyn kaatuneiden prosessien liitospistetilaan saadakseen niiden virheenkorjaussymbolit. Käytännössä vaihtoehto voi olla hyödyllinen eristetyissä säilöissä toimivien sovellusten ydintiedostojen paluujäljityksen järjestämisessä.
- systemd-logind sisältää Ctrl-Alt-Shift-Esc-yhdistelmän käsittelyn org.freedesktop.login1.SecureAttentionKey-signaalin lähettämiseksi käyttäjäympäristön komponentteihin ja pyytää näyttämään suojatun kirjautumisikkunan. Otettiin käyttöön "DesignatedMaintenanceTime" -asetus, joka ajoittaa työn automaattisesti valmistumaan tiettyyn aikaan. Vastaavasti DRM- ja evdev-laitteiden tuen kanssa, tuki on lisätty etuoikeutettujen käyttäjien pääsyn määrittämiseen piilottamaan laitteita (peliohjaimet ja ohjaussauvat).
- systemd-machined tukee nyt etuoikeudettomien asiakkaiden kirjautumisia. virtuaalikoneet ja säilöjä. Systemd-koneistettuihin toimintoihin pääsee Varlink-rajapinnan kautta D-Busin lisäksi.
- Uusi osio "[IPv6AddressLabel]" on lisätty networkd.conf-määritystiedostoon IPv6-osoitteiden tarrojen ja etuliitteiden määrittämiseksi.
- Lisätty "--stdin"-vaihtoehto 'networkctl edit'-komentoon saadakseen tiedoston sisällön vakiovirrasta. Lisätty tuki .netdev-tiedostojen muokkaamiseen ja näyttämiseen määrittämällä verkkoliitäntä "networkctl edit"- ja "networkctl cat" -komennoille. Lisätty vaihtoehto "--no-ask-password" poistaa interaktiivinen valtuutus.
- Lisätty "--certificate-source" -vaihtoehto ukify-, bootctl-, systemd-keyutil-, systemd-measure-, systemd-repart- ja systemd-sbsign-apuohjelmiin X.509-varmenteen lataamiseksi OpenSSL-palveluntarjoajan kautta sen sijaan, että lataat sen suoraan tiedosto.
- systemd-boot lisää mahdollisuuden käyttää äänenvoimakkuuspainikkeita liikkuaksesi ylös ja alas käynnistysvalikossa, mikä voi olla hyödyllistä laitteissa, kuten älypuhelimissa. Bootctl-apuohjelmaan on lisätty tuki UEFI Secure Boot -tietokannan asentamiselle ESL(db/dbx/…)-muodossa systemd-bootille.
- Lisätty "--list-invocation"-vaihtoehto journalctl:ään näyttääksesi luettelon yksikkökutsuista ja "--invocation"-vaihtoehto ("-I") näyttääksesi vain tiettyyn kutsuun liittyvät lokit.
- systemd-nspawn lisää tuen FUSE:n (Filesystem in Userspace) etuoikeutetulle käytölle säilöissä. Käytettäessä "--bind-user" vaihtoehtoa, käyttäjän SSH-avaimet, joita tarvitaan pääsyyn SSH:n kautta, välitetään säilöön.
- libsystemd on lisännyt uuden ohjelmointirajapinnan "sd-json", joka käyttää JSON-muotoa, sekä liitännän "sd-varlink", joka käyttää IPC Varlinkiä.
- Suositeltu perusytimen versio on päivitetty julkaisuun 5.4, joka perustettiin vuonna 2019. Ensi vuonna he aikovat lopettaa vanhempien ytimien tukemisen ja merkitä 5.4-julkaisun vähimmäistuetuksi perusversioksi.
- cgroups v1 -tuki on vanhentunut ja oletuksena poistettu käytöstä (ottaaksesi sen käyttöön, sinun on määritettävä SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1 ytimen komentorivillä sen lisäksi, että se on otettava käyttöön systemd-asetuksissa). Systemd 258:n seuraava julkaisu aikoo poistaa cgroups v1:een liittyvän koodin kokonaan. Systemd-version 258 on myös tarkoitus poistaa tuki System V -palveluskripteille.
Lähde: opennet.ru
