systemd системийн менежер хувилбар 251

Таван сарын хөгжүүлэлтийн дараа системийн менежер systemd 251 хувилбарыг танилцуулж байна.

Үндсэн өөрчлөлтүүд:

  • Системийн шаардлагыг нэмэгдүүлсэн. Линуксийн цөмийн хамгийн бага дэмжигдсэн хувилбарыг 3.13-аас 4.15 болгож нэмэгдүүлсэн. CLOCK_BOOTTIME цаг хэмжигч ажиллахад шаардлагатай. Үүсгэхийн тулд танд C11 стандарт болон GNU өргөтгөлүүдийг дэмждэг хөрвүүлэгч хэрэгтэй (C89 стандартыг толгой файлуудад үргэлжлүүлэн ашигладаг).
  • Хуваалтууд, файлууд эсвэл сангуудыг солих атомын механизм ашиглан шинэчлэлтүүдийг автоматаар илрүүлэх, татаж авах, суулгах туршилтын системd-sysupdate програмыг нэмсэн (хоёр бие даасан хуваалт/файл/сангийн нэг нь одоогийн ажиллаж байгаа нөөцийг, нөгөө нь суулгацыг агуулна. дараагийн шинэчлэлт, дараа нь хэсгүүд / файлууд / сангууд солигдоно).
  • Шинэ дотоод дундын номын сангийн libsystemd-core-г танилцуулав. .so, энэ нь /usr/lib/systemd/system санд суулгагдсан бөгөөд одоо байгаа libsystemd-shared- номын сантай тохирч байна. .тийм. Libsystemd-core хуваалцсан номын санг ашиглах .so нь хоёртын кодыг дахин ашиглах замаар суулгацын нийт хэмжээг багасгах боломжийг танд олгоно. Хувилбарын дугаарыг meson build систем дэх 'shared-lib-tag' параметрээр зааж өгч, түгээлтүүдэд эдгээр номын сангийн олон хувилбарыг нэгэн зэрэг хүргэх боломжийг олгодог.
  • $MONITOR_SERVICE_RESULT, $MONITOR_EXIT_CODE, $MONITOR_EXIT_STATUS, $MONITOR_INVOCATION_ID болон $MONITOR_UNIT орчны хувьсагчдыг хянагдаж буй нэгжийн мэдээллээс OnFailure/OnSuccess зохицуулагч руу шилжүүлсэн.
  • Нэгжүүдийн хувьд ExtensionDirectories тохиргоог хэрэгжүүлсэн бөгөөд энэ нь системийн өргөтгөлийн бүрэлдэхүүн хэсгүүдийг дискний дүрсээс илүү ердийн лавлахаас ачаалах ажлыг зохион байгуулахад ашиглаж болно. Системийн өргөтгөлийн лавлахын агуулгыг OverlayFS ашиглан давхарласан бөгөөд /usr/ болон /opt/ сангуудын шатлалыг өргөжүүлэх, эдгээр сангууд зөвхөн унших боломжтой байсан ч ажиллах үед нэмэлт файл нэмэхэд ашигладаг. 'portablectl attach --extension=' команд нь лавлахыг зааж өгөх дэмжлэгийг нэмсэн.
  • Системд санах ой дутагдсаны улмаас systemd-oomd зохицуулагч хүчээр дуусгавар болгосон нэгжүүдийн хувьд 'oom-kill' шинж чанар дамжиж, албадан дуусгавар болгох тоог 'user.oomd_ooms' шинж чанарт тусгана.
  • Нэгжийн хувьд шинэ зам тодорхойлогч %y/%Y нэмэгдсэн бөгөөд энэ нь нэгж рүү орох хэвийн замыг тусгасан (симэгдэл холбоосын өргөтгөлтэй). Мөн PRETTY_HOSTNAME утгыг орлуулах %q тодорхойлогч, CREDENTIALS_DIRECTORY орлуулалтад %d нэмсэн.
  • "--user" гэсэн тугийг ашиглан энгийн хэрэглэгчийн эхлүүлсэн эрхгүй үйлчилгээнүүдэд RootDirectory, MountAPIVFS, ExtensionDirectories, *Capabilities*, ProtectHome, *Directory, TemporaryFileSystem, PrivateTmp, PrivateDevices, PrivateTmp, PrivateNetwork, PrivateNetNetPacePace-н тохиргоонд өөрчлөлт орно. , PrivateUsers, ProtectClock зөвшөөрөгдсөн , ProtectKernelTunables, ProtectKernelModules, ProtectKernelLogs болон MountFlags. Энэ функц нь системд хэрэглэгчийн нэрийн орон зайг идэвхжүүлсэн үед л боломжтой.
  • LoadCredential тохиргоо нь директорийн нэрийг аргумент болгон зааж өгөх боломжийг олгодог бөгөөд энэ тохиолдолд заасан директор доторх бүх файлаас итгэмжлэлийг ачаалах оролдлого хийдэг.
  • systemctl-д "—timestamp" параметрт цагийг epochal форматаар харуулах "unix" тугийг зааж өгөх боломжтой болсон (1 оны 1970-р сарын XNUMX-ээс хойшхи секундын тоо).
  • "Systemctl status" нь "хуучин цөм" гэсэн тугийг хэрэгжүүлдэг бөгөөд хэрэв сессэд ачаалагдсан цөм нь системд байгаа үндсэн цөмөөс хуучин хувилбарын дугаартай бол харагдана. Мөн /bin/ болон /sbin/ сангуудын агуулга нь /usr-ийн симболын холбоосоор үүсгэгдээгүй болохыг тодорхойлохын тулд "unmerged-usr" гэсэн тугийг нэмсэн.
  • PID 1 процессоор эхлүүлсэн генераторуудын хувьд орчны шинэ хувьсагчдыг өгсөн болно: $SYSTEMD_SCOPE (систем эсвэл хэрэглэгчийн үйлчилгээнээс эхэлнэ), $SYSTEMD_IN_INITRD (initrd эсвэл хост орчноос эхэлнэ), $SYSTEMD_FIRST_BOOT (анхны ачаалах үзүүлэлт), $SYSTEMD_VIRTUALIZATION ( Виртуалчлал эсвэл контейнерт эхлүүлэх ) болон $SYSTEMD_ARCHITECTURE (цөмийг бүтээсэн архитектур).
  • PID 1 зохицуулагч нь QEMU fw_cfg интерфэйсээс эсвэл цөмийн командын мөрөнд systemd.set_credential параметрийг зааж өгснөөр системийн итгэмжлэлийн параметрүүдийг ачаалах боломжийг хэрэгжүүлдэг. LoadCredential удирдамж нь аргумент болгон харьцангуй замыг зааж өгсөн бол /etc/credstore/, /run/credstore/ болон /usr/lib/credstore/ сангуудаас итгэмжлэлүүдийг автоматаар хайх боломжийг олгодог. Үүнтэй төстэй үйлдэл нь /etc/credstore.encrypted/, /run/credstore.encrypted/ болон /usr/lib/credstore.encrypted/ сангуудыг шалгадаг LoadCredentialEncrypted зааварт хамаарна.
  • JSON форматаар экспортлох чадварыг systemd-journald дээр тогтворжуулсан. "journalctl --list-boots" болон "bootctl list" командууд нь JSON форматаар ("--json" туг) гаралтыг дэмждэг.
  • Зөөврийн төхөөрөмж (PDA, тооцоолуур гэх мэт) болон дуу, видео үүсгэхэд ашигладаг төхөөрөмжүүдийн (DJ консол, товчлуурын товчлуур) тухай мэдээллийг агуулсан hwdb мэдээллийн сантай шинэ файлууд udev-д нэмэгдсэн.
  • Дараах системүүдийн тэргүүлэх ач холбогдлыг тогтоохын тулд "--prioritized-subystem" гэсэн шинэ сонголтуудыг udevadm-д нэмсэн (systemd-udev-trigger.service-д эхлээд блок төхөөрөмж болон TPM-ийг боловсруулахад ашигладаг), "-type=all", "-initialized" -match” болон "--initialized-nomatch"-г сонгосноор эхлүүлсэн эсвэл эхлээгүй төхөөрөмжүүдийг сонгох бол "udevadm info -tree" /sys/ шатлал дахь объектын модыг харуулах. udevadm нь мөн "хүлээх" болон "түгжих" шинэ командуудыг нэмж, мэдээллийн санд төхөөрөмжийн оруулга гарч ирэхийг хүлээх ба хуваалтын хүснэгтийг форматлах эсвэл бичих үед блок төхөөрөмжийг түгжих болно.
  • Төхөөрөмжүүд /dev/disk/by-diskseq/ руу симбол холбоосын шинэ багц нэмсэн. блок төхөөрөмжүүдийг серийн дугаараар нь тодорхойлох ("diskseq").
  • Төхөөрөмжийг програм хангамжийн тайлбартай мөр тус бүрээр нь тааруулахын тулд [Тааруулах] хэсэг дэх файлуудыг холбох "Firmware" параметрийн дэмжлэгийг нэмсэн.
  • systemd-networkd-д [Маршрут] хэсгээр тохируулсан unicast чиглүүлэлтийн хувьд хамрах хүрээний утгыг "ip route" командын үйлдэлтэй тааруулахын тулд анхдагчаар "холбоос" болгон өөрчилсөн. Цөм дэх сүлжээний гүүрүүдийн ижил нэртэй атрибутыг тохируулахын тулд [Гүүр] хэсэгт тусгаарлагдсан=true|false параметрийг нэмсэн. [Туннель] хэсэгт туннелийн төрлийг гадаад (мета өгөгдөл цуглуулах горим) болгохын тулд Гадаад параметрийг нэмсэн. [DHCPServer] хэсэгт PXE горимд ачаалах үед DHCP серверээс илгээсэн серверийн хаяг, серверийн нэр болон ачаалах файлын нэрийг тохируулахын тулд BootServerName, BootServerAddress болон BootFilename параметрүүдийг нэмсэн. [Сүлжээ] хэсэгт L2TP параметрийг устгасан бөгөөд үүний оронд .netdev файлд L2TP интерфэйстэй холбоотой шинэ Local тохиргоог ашиглаж болно.
  • "Systemd-networkd-wait-online@" шинэ нэгж нэмсэн. .үйлчилгээ" -ийг ашиглан тодорхой сүлжээний интерфейс гарч ирэхийг хүлээх боломжтой.
  • Одоо .netdev файлуудыг ашиглан виртуал WLAN төхөөрөмж үүсгэх боломжтой болсон бөгөөд үүнийг [WLAN] хэсэгт тохируулж болно.
  • .link/.network файлуудын [Match] хэсэг нь төхөөрөмжийн төрлөөр тохирох Kind параметрийг хэрэгжүүлдэг ("bond", "bridge", "gre", "tun", "veth").
  • Systemd-resolved-г эхлүүлэхийн өмнөх үе шатанд эхлүүлсэн бөгөөд хэрэв systemd-resolved нь initrd зураг дээр байгаа бол initrd-ээс эхлүүлэх боломжтой.
  • systemd-cryptenroll нь --fido2-credential-algorithm сонголтыг нэмж, итгэмжлэлийн шифрлэлтийн алгоритмыг сонгох ба --tpm2-with-pin сонголтыг TPM ашиглан хуваалтын түгжээг тайлах үед PIN оруулгыг удирдах боломжтой. Үүнтэй төстэй tpm2-pin сонголтыг /etc/crypttab-д нэмсэн. TPM-ээр төхөөрөмжүүдийн түгжээг тайлах үед шифрлэлтийн түлхүүрүүдийг саатуулахаас хамгаалахын тулд тохиргоог шифрлэдэг.
  • systemd-timesyncd нь IPC-ээр дамжуулан NTP серверээс мэдээлэл авах D-Bus API-г нэмдэг.
  • Өнгөний гаралтын хэрэгцээг тодорхойлохын тулд бүх тушаалууд нь өмнө нь шалгасан NO_COLOR, SYSTEMD_COLORS болон TERM-ээс гадна COLORTERM орчны хувьсагчийг шалгадаг.
  • Meson бүтээх систем нь pam, nss, devel (pkg-config), systemd-boot, libsystemd, libüdev зэрэг шаардлагатай бүрэлдэхүүн хэсгүүдийг сонгон угсрах, суулгахад зориулсан install_tag сонголтыг хэрэгжүүлдэг. Systemd-journald болон systemd-coredump-д зориулсан шахалтын алгоритмыг сонгохын тулд анхдагч шахалт бүтээх сонголтыг нэмсэн.
  • Microsoft Windows-г BitLocker TPM-ээр ачаалахын тулд loader.conf-д sd-boot-д туршилтын "reboot-for-bitlocker" тохиргоог нэмсэн.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх