systemd 245 beskikbaar met draagbare tuisgidsimplementering

Na drie maande van ontwikkeling aangebied stelselbestuurder vrystelling systemd 245. In die nuwe weergawe word nuwe komponente systemd-homed en systemd-repart bygevoeg, ondersteuning vir draagbare gebruikerprofiele in JSON-formaat is ingesluit, die vermoë om naamruimtes in systemd-journald te definieer word verskaf, en ondersteuning vir die "pidfd"-meganisme word bygevoeg . Heeltemal herontwerp projek webwerf, wat die meeste van die beskikbare dokumentasie versamel en 'n nuwe logo voorstel.

systemd 245 beskikbaar met draagbare tuisgidsimplementering

Die belangrikste veranderinge:

  • Bygevoeg diens systemd-huisvesting, wat die bestuur van draagbare tuisgidse verskaf, afgelewer in die vorm van 'n gemonteerde beeldlêer, die data waarin geïnkripteer is. Systemd-homed laat jou toe om selfstandige omgewings te skep vir gebruikersdata wat tussen verskillende stelsels oorgedra kan word sonder om bekommerd te wees oor identifiseerder-sinchronisasie en vertroulikheid. Gebruikersbewyse is gekoppel aan die tuisgids eerder as stelselinstellings—'n profiel in die formaat word gebruik in plaas van /etc/passwd, /etc/group en /etc/shadow Into. Vir meer besonderhede, sien laaste aankondiging systemd-huisvesting.
  • Bygevoeg systemd-homed metgesel komponent "gebruikersdb" ("systemd-userdb"), wat UNIX/glibc NSS-rekeninge in JSON-rekords vertaal en 'n verenigde Varlink API bied vir navrae en herhaling oor rekords. Die JSON-profiel wat met die tuisgids geassosieer word, spesifiseer die parameters wat benodig word vir die gebruiker se werk, insluitend gebruikersnaam, wagwoord-hash, enkripsiesleutels, kwotas en voorsiende hulpbronne. Die profiel kan gesertifiseer word met 'n digitale handtekening wat op 'n eksterne Yubikey-token gestoor is. Om profiele te bestuur, word die "userdbctl"-nutsprogram voorgestel. Ondersteuning vir JSON-profiele is by verskeie systemd-komponente gevoeg, insluitend systemd-login en pam-systemd, wat gebruikers van draagbare gidse toelaat om te verifieer, aan te meld, omgewingsveranderlikes in te stel, 'n sessie te skep, limiete te stel, ens. In die toekoms word verwag dat die sssd-raamwerk JSON-profiele sal kan genereer met gebruikersinstellings wat in LDAP gestoor is.
  • 'n Nuwe nutsprogram "systemd-repart" is bygevoeg, ontwerp om skyfpartisietabelle in GPT-formaat te herpartisioneer. Die partisiestruktuur word in verklarende vorm gedefinieer deur lêers wat beskryf watter partisies moet of kan bestaan. By elke selflaai word die werklike partisietabel met hierdie lêers vergelyk, waarna die ontbrekende partisies bygevoeg word of, as die relatiewe of absolute grootte wat in die instellings gedefinieer is nie ooreenstem nie, die grootte van die bestaandes vergroot word. Slegs inkrementele veranderinge word toegelaat, m.a.w. die verwydering en vermindering van die grootte is nie moontlik nie, partisies kan slegs bygevoeg en vergroot word.
    Die hulpprogram is ontwerp om vanaf die initrd geloods te word en bespeur outomaties die skyf waarop die wortelpartisie geleë is, wat nie bykomende konfigurasie benodig nie, behalwe vir lêers met die definisie van veranderinge.

    In die praktyk kan systemd-repart nuttig wees vir bedryfstelselbeelde wat aanvanklik in 'n minimale vorm verskeep kan word, en na die eerste selflaai uitgebrei kan word tot die grootte van die bestaande bloktoestel of aangevul kan word met bykomende partisies (byvoorbeeld, die wortel partisie kan uitgebrei word om die hele skyf te dek of na die eerste selflaai 'n ruilpartisie of /home skep). Nog 'n gebruik sou konfigurasies wees met twee roterende partisies - slegs die eerste partisie kan aanvanklik verskaf word, en die tweede een sal met die eerste selflaai geskep word.

  • Dit is nou moontlik om verskeie gevalle van systemd-journald te begin, wat elkeen logs in sy eie naamruimte hou. Benewens die hoof systemd-journald.service, bied die .service-gids 'n sjabloon vir die skep van bykomende gevalle wat aan hul naamruimtes gebind is deur die "LogNamespace"-aanwysing te gebruik. Elke lognaamruimte word bedien deur 'n aparte agtergrondproses met sy eie stel instellings en limiete. Die voorgestelde kenmerk kan nuttig wees vir lasbalansering met 'n groot volume stompe of vir die verbetering van toepassingsisolasie. Bygevoeg "--namespace" opsie by journalctl om die navraag slegs tot die gespesifiseerde naamruimte te beperk.
  • Systemd-udevd en ander systemd-komponente het ondersteuning bygevoeg vir 'n meganisme om alternatiewe name aan netwerkkoppelvlakke toe te ken, wat dit moontlik maak om verskeie name gelyktydig vir een koppelvlak te gebruik. Die naam kan tot 128 karakters wees (voorheen was die netwerkkoppelvlaknaam beperk tot 16 karakters). By verstek ken systemd-udevd nou aan elke netwerkkoppelvlak alle variantname toe wat deur ondersteunde naamskemas gegenereer word. Hierdie gedrag kan verander word deur die nuwe AlternativeName en AlternativeNamesPolicy instellings in .link lêers. systemd-nspawn implementeer die generering van alternatiewe name met die volle houernaam vir veth-skakels wat aan die gasheerkant geskep is.
  • Die sd-event.h API voeg ondersteuning by vir die Linux kern substelsel "pidfd" om die situasie van PID hergebruik te hanteer (pidfd word geassosieer met 'n spesifieke proses en verander nie, terwyl 'n PID geassosieer kan word met 'n ander proses na die huidige proses wat daarmee geassosieer word, verlaat hierdie PID). Alle systemd-komponente behalwe PID 1 is omgeskakel om pidfds te gebruik as die substelsel deur die huidige kern ondersteun word.
  • systemd-logind verskaf toegangkontroles vir die virtuele terminale veranderingsoperasie via PolicyKit. By verstek word toestemmings om die aktiewe terminaal te verander slegs verleen aan gebruikers wat minstens een keer 'n sessie op die plaaslike virtuele terminaal begin het.
  • Om dit makliker te maak om initrd-beelde met systemd te skep, bespeur die PID 1-hanteerder nou of dit in die initrd gebruik word en laai in hierdie geval outomaties initrd.target in plaas van default.target. Met hierdie benadering kan die initrd- en hoofstelselbeelde slegs verskil in die teenwoordigheid van die /etc/initrd-release-lêer.
  • Het 'n nuwe kern-opdragreëlparameter bygevoeg - "systemd.cpu_affinity", gelykstaande aan die CPUAffinity-opsie in /etc/systemd/system.conf en laat jou toe om die CPU-affiniteitsmasker vir PID 1 en ander prosesse op te stel.
  • Geaktiveer herlaai van SELinux databasis saam met die herbegin van PID 1 via opdragte soos "systemctl daemon-reload".
  • Die “systemd.show-status=error”-instelling is by die PID 1-hanteerder gevoeg, wanneer dit gestel is, word slegs foutboodskappe en beduidende vertragings tydens laai op die konsole vertoon.
  • systemd-sysusers het ondersteuning bygevoeg vir die skep van gebruikers met 'n primêre groepnaam wat verskil van die gebruikernaam.
  • systemd-growfs stel ondersteuning bekend vir XFS-partisie-uitbreiding via die x-systemd.growfs-monteeropsie in /etc/fstab, bykomend tot voorheen ondersteunde partisie-uitbreiding met Ext4 en Btrfs.
  • Bygevoeg x-initrd.attach opsie by /etc/crypttab om 'n geënkripteerde partisie te definieer wat reeds op die initrd stadium ontsluit is.
  • systemd-cryptsetup het ondersteuning bygevoeg (opsie pkcs11-uri in /etc/crypttab) vir die ontsluiting van geënkripteerde partisies met PKCS#11-slimkaarte, byvoorbeeld om partisie-enkripsie aan YubiKeys te heg.
  • Nuwe monteeropsies "x-systemd.required-by" en "x-systemd.wanted-by" is by /etc/fstab gevoeg om eenhede eksplisiet op te stel wat monteerbewerkings definieer om geroep te word in plaas van local-fs.target en remote -fs .teiken.
  • 'n Nuwe diens-sandbox-opsie is bygevoeg - ProtectClock, wat skryfwerk aan die stelselklok beperk (toegang word geblokkeer op die vlak van /dev/rtc, stelseloproepe en CAP_SYS_TIME/CAP_WAKE_ALARM-toestemmings).
  • Volgens spesifikasie Vindbare partisies en systemd-gpt-outo-generator bygevoeg partisie opsporing
    /var en /var/tmp.

  • In "systemctl list-unit-files", wanneer 'n lys van eenhede vertoon word, het 'n nuwe kolom verskyn wat die aktiveringstoestand weerspieël wat in die vervaardiger se voorafinstellings vir hierdie tipe eenheid aangebied word.
  • 'n Opsie "—met-afhanklikhede" is by "systemctl" gevoeg, wanneer dit geïnstalleer is, sal opdragte soos "systemctl status" en "systemctl cat" nie net alle ooreenstemmende eenhede vertoon nie, maar ook die eenhede waarvan hulle afhanklik is.
  • In systemd-networkd het die qdisc-konfigurasie die vermoë bygevoeg om die TBF (Token Bucket Filter), SFQ (Stochastic Fairness Queuing), CoDel (Controlled-Delay Active Queue Management) en FQ (Fair Queue) parameters te konfigureer.
  • systemd-networkd het ondersteuning bygevoeg vir IFB-netwerktoestelle (Intermediêre funksionele blok).
  • Systemd-networkd implementeer die MultiPathRoute parameter in die [Route] afdeling om multi-pad roetes op te stel.
  • In systemd-networkd vir die DHCPv4-kliënt, is die SendDecline-opsie bygevoeg, wanneer gespesifiseer, nadat 'n DHCP-antwoord met 'n adres ontvang is, word 'n duplikaatadreskontrole uitgevoer en as 'n adreskonflik bespeur word, word die uitgereikte adres verwerp. Die RouteMTUBytes-opsie is ook by die DHCPv4-kliënt gevoeg, wat jou toelaat om die MTU-grootte te bepaal vir roetes wat uit IP-adresbindings (huurkontrakte) gegenereer word.
  • Die PrefixRoute-instelling in die [Adres]-afdeling van .network-lêers is opgeskort. Dit is vervang deur die “AddPrefixRoute”-instelling, wat die teenoorgestelde betekenis het.
  • In .network-lêers is ondersteuning vir die nuwe waarde "_dhcp" by die Gateway-instelling in die "[Route]"-afdeling gevoeg, wanneer dit gestel is, word 'n statiese roete gekies gebaseer op die poort wat via DHCP gekonfigureer is.
  • Instellings het in die .network-lêers in die "[RoutingPolicyRule]"-afdeling verskyn
    User en SuppressPrefixLength om bronroetering te spesifiseer gebaseer op UID-reekse en voorvoegselgrootte.

  • In networkctl bied die "status"-opdrag die vermoë om logs met betrekking tot elke netwerkkoppelvlak te vertoon.
  • systemd-networkd-wait-online voeg ondersteuning by om die maksimum tyd in te stel om te wag vir 'n koppelvlak om in werking te tree en om te wag vir 'n koppelvlak om af te gaan.
  • Het opgehou om .link- en .network-lêers te verwerk met 'n leë of "[Match]"-afdeling wat kommentaar gelewer het.
  • In die .link- en .network-lêers, in die "[Match]"-afdeling, is 'n "PermanentMACAddress"-instelling bygevoeg om die permanente MAC-adres van toestelle na te gaan in die geval van die gebruik van 'n gegenereerde ewekansige MAC.
  • Die "[TrafficControlQueueingDiscipline]"-afdeling in .network-lêers is hernoem na "[NetworkEmulator]", en die "NetworkEmulator"-voorvoegsel is verwyder uit die name van geassosieerde instellings.
  • systemd-resolved for DNS-over-TLS voeg ondersteuning by vir SNI-kontrole.

Bron: opennet.ru

Voeg 'n opmerking