systemd 245 na magagamit sa pagpapatupad ng portable home directory

Pagkatapos ng tatlong buwan ng pag-unlad ipinakita release ng system manager systemd 245. Sa bagong release, idinagdag ang mga bagong component na systemd-homed at systemd-repart, kasama ang suporta para sa mga portable na profile ng user sa format na JSON, ibinibigay ang kakayahang tukuyin ang mga namespace sa systemd-journald, at idinagdag ang suporta para sa mekanismong "pidfd". . Ganap na muling idinisenyo website ng proyekto, na nangongolekta ng karamihan sa magagamit na dokumentasyon at nagmumungkahi ng bagong logo.

systemd 245 na magagamit sa pagpapatupad ng portable home directory

Ang pangunahing pagbabago:

  • Idinagdag na serbisyo systemd-homed, na nagbibigay ng pamamahala ng mga portable na direktoryo ng bahay, na inihatid sa anyo ng isang naka-mount na file ng imahe, ang data kung saan naka-encrypt. Nagbibigay-daan sa iyo ang Systemd-homed na lumikha ng mga self-contained na kapaligiran para sa data ng user na maaaring ilipat sa pagitan ng iba't ibang mga system nang hindi nababahala tungkol sa pag-synchronize ng identifier at pagiging kumpidensyal. Ang mga kredensyal ng user ay nakatali sa home directory kaysa sa mga setting ng systemβ€”isang profile sa format ang ginagamit sa halip na /etc/passwd, /etc/group at /etc/shadow JSON. Para sa higit pang mga detalye, tingnan huling anunsyo systemd-homed.
  • Nagdagdag ng systemd-homed companion component "userdb” (β€œsystemd-userdb”), na nagsasalin ng mga UNIX/glibc NSS account sa mga JSON record at nagbibigay ng pinag-isang Varlink API para sa pag-query at pag-ulit sa mga talaan. Tinutukoy ng JSON profile na nauugnay sa home directory ang mga parameter na kinakailangan para sa trabaho ng user, kabilang ang username, password hash, encryption key, quota, at provisioned resources. Maaaring ma-certify ang profile gamit ang isang digital na lagda na nakaimbak sa isang panlabas na Yubikey token. Upang pamahalaan ang mga profile, ang "userdbctl" na utility ay iminungkahi. Ang suporta para sa mga profile ng JSON ay idinagdag sa iba't ibang bahagi ng systemd, kabilang ang systemd-logind at pam-systemd, na nagpapahintulot sa mga user ng mga portable na direktoryo na magpatotoo, mag-log in, magtakda ng mga variable ng kapaligiran, lumikha ng isang session, magtakda ng mga limitasyon, atbp. Sa hinaharap, inaasahan na ang sssd framework ay makakabuo ng mga JSON profile na may mga setting ng user na nakaimbak sa LDAP.
  • Ang isang bagong utility na "systemd-repart" ay idinagdag, na idinisenyo upang muling hatiin ang mga talahanayan ng partisyon ng disk sa format na GPT. Ang istraktura ng partisyon ay tinukoy sa deklaratibong anyo sa pamamagitan ng mga file na naglalarawan kung aling mga partisyon ang dapat o maaaring umiiral. Sa bawat boot, ang aktwal na talahanayan ng partisyon ay inihambing sa mga file na ito, pagkatapos kung saan ang mga nawawalang partisyon ay idinagdag o, kung ang kamag-anak o ganap na laki na tinukoy sa mga setting ay hindi tumutugma, ang laki ng mga umiiral na ay nadagdagan. Mga incremental na pagbabago lang ang pinapayagan, i.e. ang pagtanggal at pagbabawas ng laki ay hindi posible, ang mga partisyon ay maaari lamang idagdag at palakihin.
    Ang utility ay idinisenyo upang ilunsad mula sa initrd at awtomatikong nakikita ang disk kung saan matatagpuan ang root partition, na hindi nangangailangan ng karagdagang pagsasaayos, maliban sa mga file na may kahulugan ng mga pagbabago.

    Sa pagsasagawa, ang systemd-repart ay maaaring maging kapaki-pakinabang para sa mga imahe ng operating system na maaaring maipadala sa simula sa isang minimal na anyo, at pagkatapos ng unang boot ay maaaring palawakin sa laki ng umiiral na block device o pupunan ng mga karagdagang partisyon (halimbawa, ang root ang partisyon ay maaaring palawakin upang masakop ang buong disk o pagkatapos ng unang boot ay lumikha ng isang swap partition o /home). Ang isa pang paggamit ay ang mga pagsasaayos na may dalawang umiikot na partisyon - ang unang partisyon lamang ang maaaring ibigay sa simula, at ang pangalawa ay gagawin sa unang boot.

  • Posible na ngayong maglunsad ng maraming pagkakataon ng systemd-journald, na ang bawat isa ay nagpapanatili ng mga log sa sarili nitong namespace. Bilang karagdagan sa pangunahing systemd-journald.service, ang direktoryo ng .service ay nag-aalok ng isang template para sa paglikha ng mga karagdagang instance na nakatali sa kanilang mga namespace gamit ang "LogNamespace" na direktiba. Ang bawat log namespace ay inihahatid ng isang hiwalay na proseso sa background na may sarili nitong hanay ng mga setting at limitasyon. Ang iminungkahing tampok ay maaaring maging kapaki-pakinabang para sa pagbabalanse ng load na may malaking dami ng mga log o para sa pagpapahusay ng paghihiwalay ng aplikasyon. Idinagdag ang opsyong "--namespace" sa journalctl upang limitahan ang query sa tinukoy na namespace lamang.
  • Ang Systemd-udevd at iba pang mga bahagi ng systemd ay nagdagdag ng suporta para sa isang mekanismo para sa pagtatalaga ng mga alternatibong pangalan sa mga interface ng network, na nagpapahintulot sa maraming mga pangalan na magamit nang sabay-sabay para sa isang interface. Ang pangalan ay maaaring hanggang sa 128 character (dati, ang pangalan ng network interface ay limitado sa 16 na character). Bilang default, itinatalaga na ngayon ng systemd-udevd ang bawat interface ng network ng lahat ng variant na pangalan na nabuo ng mga sinusuportahang scheme ng pagbibigay ng pangalan. Maaaring baguhin ang gawi na ito sa pamamagitan ng mga bagong setting ng AlternativeName at AlternativeNamesPolicy sa mga .link na file. ipinapatupad ng systemd-nspawn ang pagbuo ng mga alternatibong pangalan na may buong pangalan ng container para sa mga veth link na ginawa sa panig ng host.
  • Ang sd-event.h API ay nagdaragdag ng suporta para sa Linux kernel subsystem na "pidfd" upang mahawakan ang sitwasyon ng muling paggamit ng PID (ang pidfd ay nauugnay sa isang partikular na proseso at hindi nagbabago, habang ang isang PID ay maaaring iugnay sa isa pang proseso pagkatapos ng kasalukuyang proseso na nauugnay dito ay lumalabas sa PID na ito). Ang lahat ng mga bahagi ng systemd maliban sa PID 1 ay na-convert upang gumamit ng mga pidfd kung ang subsystem ay sinusuportahan ng kasalukuyang kernel.
  • Ang systemd-logind ay nagbibigay ng mga pagsusuri sa pag-access para sa pagpapatakbo ng pagpapalit ng virtual na terminal sa pamamagitan ng PolicyKit. Bilang default, ang mga pahintulot na baguhin ang aktibong terminal ay ibinibigay lamang sa mga user na nagpasimula ng session sa lokal na virtual terminal kahit isang beses.
  • Upang gawing mas madali ang paggawa ng initrd na mga imahe gamit ang systemd, nakikita na ngayon ng handler ng PID 1 kung ginagamit ang initrd at sa kasong ito ay awtomatikong nilo-load ang initrd.target sa halip na default.target. Sa diskarteng ito, ang initrd at pangunahing mga imahe ng system ay maaaring mag-iba lamang sa pagkakaroon ng /etc/initrd-release file.
  • Nagdagdag ng bagong parameter ng command line ng kernel - "systemd.cpu_affinity", katumbas ng opsyong CPUAffinity sa /etc/systemd/system.conf at nagbibigay-daan sa iyong i-configure ang CPU affinity mask para sa PID 1 at iba pang mga proseso.
  • Pinagana ang pag-reload ng database ng SELinux kasama ng pag-restart ng PID 1 sa pamamagitan ng mga command tulad ng "systemctl daemon-reload".
  • Ang setting na "systemd.show-status=error" ay idinagdag sa PID 1 handler, kapag nakatakda, tanging mga mensahe ng error at makabuluhang pagkaantala habang naglo-load ang ipinapakita sa console.
  • Nagdagdag ang systemd-sysusers ng suporta para sa paglikha ng mga user na may pangunahing pangalan ng grupo na iba sa user name.
  • Ang systemd-growfs ay nagpapakilala ng suporta para sa XFS partition expansion sa pamamagitan ng x-systemd.growfs mount option sa /etc/fstab, bilang karagdagan sa dating suportadong pagpapalawak ng partition sa Ext4 at Btrfs.
  • Idinagdag ang x-initrd.attach na opsyon sa /etc/crypttab para tukuyin ang isang naka-encrypt na partition na naka-unlock na sa initrd stage.
  • Ang systemd-cryptsetup ay nagdagdag ng suporta (opsyon pkcs11-uri sa /etc/crypttab) para sa pag-unlock ng mga naka-encrypt na partition gamit ang PKCS#11 smartcard, halimbawa para sa pag-attach ng partition encryption sa YubiKeys.
  • Ang mga bagong opsyon sa pag-mount na "x-systemd.required-by" at "x-systemd.wanted-by" ay idinagdag sa /etc/fstab upang tahasang i-configure ang mga unit na tumutukoy sa mga pagpapatakbo ng mount na tatawagin sa halip na local-fs.target at remote -fs .target.
  • May idinagdag na bagong opsyon sa sandboxing ng serbisyo - ProtectClock, na naglilimita sa pagsusulat sa system clock (naka-block ang access sa antas ng /dev/rtc, mga system call at CAP_SYS_TIME/CAP_WAKE_ALARM na mga pahintulot).
  • Sa pagtutukoy Mga Natutuklasang Partisyon at systemd-gpt-auto-generator ay nagdagdag ng partition detection
    /var at /var/tmp.

  • Sa β€œsystemctl list-unit-files”, kapag nagpapakita ng listahan ng mga unit, may lumabas na bagong column na nagpapakita ng enable state na inaalok sa mga preset ng manufacturer para sa ganitong uri ng unit.
  • Ang isang opsyon na "β€”with-dependencies" ay idinagdag sa "systemctl", kapag naka-install, ang mga command tulad ng "systemctl status" at "systemctl cat" ay ipapakita hindi lamang ang lahat ng kaukulang unit, kundi pati na rin ang mga unit kung saan sila umaasa.
  • Sa systemd-networkd, ang qdisc configuration ay nagdagdag ng kakayahang i-configure ang TBF (Token Bucket Filter), SFQ (Stochastic Fairness Queuing), CoDel (Controlled-Delay Active Queue Management) at FQ (Fair Queue) na mga parameter.
  • Nagdagdag ang systemd-networkd ng suporta para sa mga IFB network device (Intermediate Functional Block).
  • Ipinapatupad ng Systemd-networkd ang parameter na MultiPathRoute sa seksyong [Route] upang i-configure ang mga ruta ng multi-path.
  • Sa systemd-networkd para sa DHCPv4 client, ang SendDecline na opsyon ay idinagdag, kapag tinukoy, pagkatapos makatanggap ng tugon ng DHCP na may isang address, ang isang duplicate na pagsusuri sa address ay isinasagawa at kung ang isang address conflict ay nakita, ang ibinigay na address ay tinanggihan. Ang opsyon na RouteMTUBytes ay naidagdag din sa DHCPv4 client, na nagbibigay-daan sa iyong matukoy ang laki ng MTU para sa mga rutang nabuo mula sa mga binding ng IP address (mga pagpapaupa).
  • Ang setting ng PrefixRoute sa seksyong [Address] ng mga .network na file ay hindi na ginagamit. Pinalitan ito ng setting na β€œAddPrefixRoute,” na may kabaligtaran na kahulugan.
  • Sa mga .network na file, idinagdag ang suporta para sa bagong value na β€œ_dhcp” sa setting ng Gateway sa seksyong β€œ[Route],” kapag nakatakda, pipiliin ang isang static na ruta batay sa gateway na na-configure sa pamamagitan ng DHCP.
  • Ang mga setting ay lumitaw sa mga .network na file sa seksyong β€œ[RoutingPolicyRule]”.
    User at SuppressPrefixLength upang tukuyin ang source routing batay sa mga saklaw ng UID at laki ng prefix.

  • Sa networkctl, ang command na "status" ay nagbibigay ng kakayahang magpakita ng mga log kaugnay ng bawat interface ng network.
  • systemd-networkd-wait-online ay nagdaragdag ng suporta para sa pagtatakda ng maximum na oras upang maghintay para sa isang interface na maging operational at maghintay para sa isang interface na bumaba.
  • Huminto sa pagpoproseso ng .link at .network na mga file na may walang laman o nagkomento na seksyong "[Match]."
  • Sa .link at .network na mga file, sa seksyong "[Match]", isang setting na "PermanentMACAddress" ay idinagdag upang suriin ang permanenteng MAC address ng mga device sa kaso ng paggamit ng nabuong random na MAC.
  • Ang seksyong "[TrafficControlQueueingDiscipline]" sa mga .network file ay pinalitan ng pangalan sa "[NetworkEmulator]", at ang prefix na "NetworkEmulator" ay inalis mula sa mga pangalan ng nauugnay na mga setting.
  • systemd-resolved para sa DNS-over-TLS ay nagdaragdag ng suporta para sa SNI checking.

Pinagmulan: opennet.ru

Magdagdag ng komento