Kolmen kuukauden kehitystyön jälkeen järjestelmänvalvoja systemd 261 on nyt saatavilla. Keskeisiä muutoksia ovat: valmistautuminen iän varmentamiseen tarkoitettuun API-tukeen, tuki Kexec Handover- ja Live Update Orchestration -alijärjestelmille tilattomille uudelleenkäynnistyksille, IMDS (Instance Metadata Service) -alijärjestelmä, käynnistyssuojauksen toiminnallisuus järjestelmissä, joissa ei ole fyysistä TPM:ää (Trusted Platform Module), sekä systemd-sysinstall-komponentti asennusohjelman toteutuksella.
Uuden julkaisun muutoksista:
- Uusi komponentti, systemd-sysinstall, on lisätty. Se toteuttaa yksinkertaisen käyttöjärjestelmän asennusohjelman, jota voidaan hallita komentoriviltä tai interaktiivisen tekstikäyttöliittymän kautta. systemd-sysinstallin toiminnallisuus perustuu olemassa oleviin systemd-ominaisuuksiin: systemd-repart-komentoa käytetään levyosioiden määrittämiseen, "bootctl link" -komentoa käytetään ytimen asentamiseen ja käynnistysvalikon luomiseen, "bootctl install" -komentoa käytetään systemd-boot-käynnistyslataimen asentamiseen ja systemd-creds-komentoa käytetään asennetun järjestelmän alkumäärityksiin (esimerkiksi kieliasetuksen ja näppäimistöasettelun valitsemiseen).
- Käyttöjärjestelmäintegraation lakisääteisten vaatimusten toteuttamisen valmisteluvaiheessa userdb-tietokantaan on lisätty käyttäjän syntymäaikaa sisältävä birthDate-kenttä iän varmentamista varten. Tätä kenttää voidaan käyttää xdg-desktop-portaalissa (kehitetty jakeluille) ja AccountsService-palvelussa sovellusten ikäluokasta tietojen antamiseen "org.freedesktop.AgeVerification1"- tai "org.freedesktop.ParentalControls"-D-Bus-rajapinnan kautta. "--birth-date"-vaihtoehto on lisätty homectl-apuohjelmaan iän asettamista varten.
- PID1-käsittelijään on lisätty tuki alijärjestelmille. Linux- LUO (Live Update Orchestration) ja KHO (Kexec Handover) -ytimet, jotka mahdollistavat täyden uudelleenkäynnistyksen ja ytimen päivityksen keskeyttämättä toimintaa tai menettämättä järjestelmän, laitteiden tai prosessien tilaa. KHO tarjoaa mahdollisuuden käynnistää uuden ytimen vanhasta menettämättä järjestelmän tilaa, kun taas LUO toteuttaa laitteiden ja RAM-muistin tilan säilyttämisen ja varmistaa DMA:han ja keskeytysten käsittelyyn liittyvien toimintojen jatkuvuuden.
systemd:ssä järjestelmä- ja käyttäjäyksiköt voivat tallentaa tiedostokuvauksia ennen kexecin kutsumista ja palauttaa ne ytimen uudelleenkäynnistyksen jälkeen kexecin kautta. Yksiköt voivat myös luoda omia LUO-istuntojaan, jotka tallennetaan ja palautetaan kexecin suorituksen aikana. Voit ottaa tiedostokuvausten tallennustilan säilytyksen käyttöön asetuksella 'FileDescriptorStorePreserve=yes'.
- Systemd-imdsd-alijärjestelmä on toteutettu, ja se tarjoaa Varlink IPC:hen perustuvan API:n, jonka avulla paikalliset ohjelmat voivat käyttää eri pilvijärjestelmätoimittajien tarjoamia IMDS-palveluita (Instance Metadata Service). IMDS mahdollistaa virtuaalikoneet Hanki tietoja pilviympäristöstä, kuten verkon kokoonpanosta, solmun maantieteellisestä sijainnista, suorittimen tyypistä ja tallennustilan koosta. systemd-imdsd tarjoaa sekä matalan tason API:n yksittäisten kenttien käyttämiseen että korkean tason rajapinnan alustakohtaisiin avaimiin yhdistettyjen vakioavainten kyselyyn. Systemd-imdsd-apuohjelma on lisätty vuorovaikutukseen systemd-imdsd:n kanssa, minkä ansiosta voit tuoda kenttiä IMDS:stä paikalliseen tilijärjestelmään.
Uusi tietokanta, hwdb.d/40-imds.hwdb, on lisätty pilvialustojen tunnistamiseksi SMBIOS-tietojen perusteella ja nykyisellä solmulla käytettävissä olevan IMDS-toiminnallisuuden määrittämiseksi. Tunnistettuja pilvialustoja ovat Amazon EC2, Microsoft Azure, Google Compute Engine, Hetzner, Oracle Cloud, Scaleway, Tencent Cloud, Alibaba ECS ja Vultr. systemd-imds-generator-käsittelijä on käytettävissä palvelun automaattiseen korvaamiseen tietojen hakemisessa IMDS:n kautta, kun sovellusta käytetään tuetulla pilvialustalla. Voidaan luoda yleismaailmallisia levykuvia, jotka tukevat IMDS:ää pilviympäristöissä, mutta jotka voivat toimia myös ilman IMDS:ää.
- systemd-stub toteuttaa "käynnistysavaimen" ominaisuuden, jonka avulla voidaan luoda avain käyttöjärjestelmälle saavuttamattomissa olevaan EFI-muuttujaan perustuen. Muuttuja alustetaan satunnaisarvolla. Avain välitetään initrd:lle /.extra/boot-secret-tiedoston kautta. Tätä ominaisuutta voidaan tarvita järjestelmäkohtaisen satunnaisen avaimen luomiseen käynnistyksen varmennusta tai salausta varten järjestelmissä, joissa ei ole laitteisto-TPM:ää (Trusted Platform Module).
- systemd-tpm2-swtpm.service-palvelu on lisätty suorittamaan swtpm TPM -siruemulaattoria (Software TPM Emulator). Palvelua voidaan käyttää automaattisesti ohjelmistopohjaisen TPM-toteutuksen varalle turvallisen käynnistyksen varmistamiseksi järjestelmissä, joissa ei ole laitteistopohjaista TPM:ää. Ohjelmistopohjainen TPM toimii käyttäjätilassa eikä tarjoa samaa suojaustasoa kuin laitteistopohjainen TPM, mutta joissakin tilanteissa sen käyttö on perusteltua verrattuna toimintaan ilman TPM:ää. Esimerkiksi ohjelmistopohjainen TPM voi hankkia osion salausavaimen käyttämällä uutta "käynnistyssalaisuus"-toimintoa ja käyttää levyllä olevaa ESP:tä (EFI System Partition) tilan tallentamiseen. systemd.tpm2_software_fallback-ytimen komentoriviparametri on otettu käyttöön ohjelmistopohjaisen TPM:n automaattista käyttöönottoa varten.
- Julistettiin vakaaksi ja sijoitettiin /usr/bin/-hakemistoon systemd-sysupdate-komponentti, joka on suunniteltu tunnistamaan, lataamaan ja asentamaan päivitykset automaattisesti käyttämällä atomimekanismia osioiden, tiedostojen tai hakemistojen korvaamiseen (käytetään kahta itsenäistä osiota/tiedostoa/hakemistoa, joista toinen sisältää parhaillaan käynnissä olevan resurssin ja toinen on se, mihin seuraava päivitys asennetaan, minkä jälkeen osiot/tiedostot/hakemistot vaihdetaan).
- systemd-resolved toteuttaa mahdollisuuden määrittää uudelleen tai määrittää uusia DNS-tietueita sijoittamalla JSON-muotoisia tiedostoja systemd/resolve/static.d/-hakemistoihin. Toisin kuin /etc/hosts, uudet tiedostot eivät voi ainoastaan sitoa IP-osoitteet isäntänimiin, mutta myös muiden resurssien DNS RR -tietueiden kuin "A":n ja "AAAA" määrittämiseen. Lisäksi DNS-välimuistin kokoasetukset on lisätty systemd-ratkaistuihin asetuksiin: 'DNSCacheSize', 'MulticastDNSCacheSize' ja 'LLMNRCacheSize'.
- Lisätty 'storagectl'-apuohjelma tallennuslaitteiden tarkastamiseen ja lohkolaitteiden ja tiedostojärjestelmien yhteyksien hallintaan.
- Osana riippuvuuksien vähentämisaloitetta libsystemd lataa nyt dynaamisesti kirjastot libgnutls, libmicrohttpd, libcurl, libcrypto, libssl, libfdisk ja libcryptsetup.
kutsumalla dlopen()-funktiota tilanteissa, joissa niiden funktioita todella tarvitaan. - Systemd-tmpfiles-tiedostoon on lisätty "--inline"-lippu, jonka avulla direktiivit voidaan asettaa komentorivillä ilman, että tmpfiles.d/-tiedostoon luodaan asetustiedostoja ja että asetuksia lähetetään STDIN:n kautta. Asetusominaisuuksia varten on lisätty uusi direktiivityyppi, 'k/K'. Tmpfiles.d/root.conf-määritystiedosto on lisätty, ja se asettaa juurihakemiston (/) käyttöoikeuksiksi arvoksi 0555 (-r-xr-xr-x) suojatakseen virheellisiltä käyttöoikeuksilta juurijärjestelmän dynaamista luontia varten.
- bootctl-apuohjelmalla voi tallentaa varmuuskopion systemd-boot-käynnistyslataimesta ja rekisteröidä vanhan version UEFIin varmuuskopiokäynnistysvaihtoehtona.
- Systemd-vmspawn tukee nyt suoraa kernel-käynnistystä ilman UEFI-laiteohjelmistoa. Asetus "--firmware-features" on otettu käyttöön yksittäisten laiteohjelmisto-ominaisuuksien valikoivaa käyttöönottoa tai poistamista käytöstä varten. Tila "--console=headless" on lisätty virtuaalikoneen käynnistämiseen ilman konsolia tai näyttöä. Asetus "--image-disk-type" on lisätty virtuaalikoneessa käytettävän lohkotallennustyypin (virtio-blk, virtio-scsi, nvme tai scsi-cd) valitsemiseen. Asetus "--coco" (luottamuksellinen laskenta) on lisätty muistin salauksen ottamiseksi käyttöön. virtuaalikoneet käyttäen AMD SEV-SNP -tekniikkaa.
- Tuki mielivaltaisten tagien liittämiselle nykyiseen järjestelmään on lisätty systemd-hostnamed- ja /etc/machine-info-tiedostoihin "Tags"-parametrin avulla. Näitä tageja voidaan sitten käyttää asetusten valikoivaan käyttöön, jotka vahvistetaan ConditionMachineTag-lausekkeen avulla.
- Lisätty EventLoopRateLimitIntervalSec- ja EventLoopRateLimitBurst-asetukset PID1:n tapahtumien käsittelysilmukan nopeuden rajoittamiseksi ja suorittimen resurssien vapauttamiseksi silmukan sattuessa.
- Palvelunhallinta sisältää nyt MinimumUptimeSec-asetuksen järjestelmän vähimmäiskäyttöajan asettamiseksi (oletusarvoisesti 15 sekuntia). Jos sammutus tai uudelleenkäynnistys aloitetaan ennen tämän ajan umpeutumista, viimeiseen vaiheeseen lisätään vastaava viive.
- Yksiköille on otettu käyttöön uusia asetuksia: CPUSetPartition, jolla cpuset-osion tyypiksi asetetaan cgroup ("root", "isolated", "member"), RestrictFileSystemAccess, jolla sallitaan vain dm-verity-komennolla digitaalisella allekirjoituksella varmistettujen suoritettavien tiedostojen suorittaminen, ja CPUPressureWatch/CPUPressureThresholdSec/IOPressureWatch/IOPressureThresholdSec, jolla vastaanottaa ilmoituksia korkeasta CPU- ja I/O-kuormituksesta.
- Systemd-report-apuohjelman raportoimien mittareiden luetteloa on laajennettu. Esimerkiksi tietoja fyysisen muistin koosta ja aktiivisista suorittimen ytimistä, SMBIOS- ja /etc/machine-info-kenttien sisällöstä, luottamuksellisen laskentatilan tuesta ja TPM2-sirun valmistajan tiedoista on lisätty.
- systemd-oomd mahdollistaa prosessien katkaisemisen sääntöjen määrittämisen, kun järjestelmässä on vähän muistia. Säännöt voidaan määrittää hakemistossa /etc/systemd/oomd/rules.d/ tai palveluyksiköissä käyttämällä OOMRule-direktiiviä.
- systemd-socket-proxy tukee nyt "PROXY"-protokollaa, joka vastaa "haproxy"-protokollan ensimmäistä versiota.
- systemd-networkd toteuttaa uuden sd-dhcp-relay-taustajärjestelmän DHCP-välityspalveluille. Asetukset "[DHCPServer]"-osiossa – BindToInterface, RelayTarget, RelayAgentCircuitId ja RelayAgentRemoteId – ovat vanhentuneita. Sen sijaan käytetään DHCPRelay-parametria "[Network]"-osiossa ja uusia asetuksia [DHCPRelay]-osiossa ja networkd.conf-tiedostossa. Komento 'networkctl dhcp-lease INTERFACE' on lisätty IP-osoitteen sidontatietojen (DHCP-vuokraussopimukset) tallentamista varten.
- Systemd-nspawn-apuohjelmaan on lisätty asetus "--restrict-address-families", ja .nspawn-tiedostoihin on lisätty RestrictAddressFamilies-asetus säilöissä käytettyjen sokettiosoiteperheiden rajoittamiseksi. Tulevissa versioissa oletusarvoisesti sallitaan vain AF_INET-, AF_INET6- ja AF_UNIX-perheet.
- Vanhan udev-tietokantamuodon (versio 0.x) tuki on lopetettu. Systemd-versioiden reaaliaikaisia päivityksiä ennen julkaisua 247 ei enää tueta.
- Musl C -kirjastolla kehitettävässä järjestelmässä vaaditaan nyt vähintään musl 1.2.6 -versio.
Lisäksi kannattaa huomata liberated-systemd 261:n julkaisu. Kyseessä on systemd:n haarauma, joka poistaa käyttäjävalvontaan mahdollisesti käytettävän koodin. Tämän julkaisun muutokset rajoittuvat poistamaan koodin, joka lisää birthDate-kentän userdb-tiedostoon. Tämä kenttä tallentaa käyttäjän syntymäajan, sekä "--birth-date"-valinnan homectl-apuohjelmasta iän asettamista varten.
Lähde: opennet.ru
