پس از پنج ماه توسعه، نسخه مدیریت سیستم systemd 251 ارائه شده است.
تغییرات اصلی:
- سیستم مورد نیاز افزایش یافته است. حداقل نسخه هسته لینوکس پشتیبانی شده از 3.13 به 4.15 افزایش یافته است. تایمر CLOCK_BOOTTIME برای عملکرد مورد نیاز است. برای ساخت، به یک کامپایلر نیاز دارید که از استاندارد C11 و پسوندهای گنو پشتیبانی کند (استاندارد C89 همچنان برای فایلهای هدر استفاده میشود).
- یک ابزار آزمایشی systemd-sysupdate برای شناسایی، دانلود و نصب خودکار بهروزرسانیها با استفاده از مکانیزم اتمی برای جایگزینی پارتیشنها، فایلها یا دایرکتوریها (دو پارتیشن/فایل/دایرکتوری مستقل استفاده میشود که یکی از آنها حاوی منبع کاری فعلی است و دیگری نصب میکند) اضافه شده است. به روز رسانی بعدی، پس از آن بخش ها / فایل ها / دایرکتوری ها تعویض می شوند).
- معرفی کتابخانه مشترک داخلی جدید libsystemd-core- .so، که در پوشه /usr/lib/systemd/system نصب شده است و با کتابخانه libsystemd-shared- موجود مطابقت دارد. .بنابراین. با استفاده از کتابخانه اشتراکی libsystemd-core .so به شما امکان می دهد با استفاده مجدد از کد باینری، اندازه کلی نصب را کاهش دهید. شماره نسخه را می توان از طریق پارامتر "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 اضافه شدهاند که مسیر عادی شده را به واحد منعکس میکند (با گسترش پیوندهای نمادین). همچنین مشخصکنندههای %q برای جایگزینی مقدار PRETTY_HOSTNAME و %d برای جایگزینی CREDENTIALS_DIRECTORY اضافه شدهاند.
- در سرویسهای غیرمجاز که توسط یک کاربر معمولی با استفاده از پرچم «--user» راهاندازی میشود، تنظیمات RootDirectory، MountAPIVFS، ExtensionDirectories، *Capabilities*، ProtectHome، *Directory، TemporaryFileSystem، PrivateTmp، PrivateDevices، PrivateNetworkPathPapeapace، PrivateTmp،PrivateDevices،PrivateCapaapa. هفتم ، PrivateUsers، ProtectClock مجاز هستند، ProtectKernelTunables، ProtectKernelModules، ProtectKernelLogs و MountFlags. این ویژگی تنها زمانی در دسترس است که فضای نام کاربری در سیستم فعال باشد.
- تنظیمات LoadCredential اجازه می دهد تا نام دایرکتوری به عنوان آرگومان مشخص شود، در این صورت سعی می شود اعتبارنامه ها از همه فایل های موجود در دایرکتوری مشخص بارگیری شود.
- در systemctl، در پارامتر «—timestamp»، امکان تعیین پرچم «یونیکس» برای نمایش زمان در قالب دورهای (تعداد ثانیهها از 1 ژانویه 1970) وجود داشت.
- "Systemctl status" پرچم "old-kernel" را پیاده سازی می کند، که اگر هسته بارگذاری شده در جلسه دارای شماره نسخه قدیمی تر از هسته پایه موجود در سیستم باشد، نشان داده می شود. همچنین یک پرچم "unmerged-usr" اضافه کرد تا مشخص شود که محتویات دایرکتوری های /bin/ و /sbin/ از طریق پیوندهای نمادین به /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/ فراهم می کند، اگر یک مسیر نسبی به عنوان آرگومان مشخص شده باشد. رفتار مشابهی برای دستورالعمل LoadCredentialEncrypted اعمال میشود، که علاوه بر این، فهرستهای /etc/credstore.encrypted/، /run/credstore.encrypted/ و /usr/lib/credstore.encrypted/ را نیز بررسی میکند.
- قابلیت صادرات در قالب JSON در systemd-journald تثبیت شده است. دستورات "journalctl --list-boots" و "bootctl list" اکنون از خروجی با فرمت JSON (پرچم "-json") پشتیبانی می کنند.
- فایلهای جدیدی با پایگاههای داده hwdb به udev اضافه شدهاند که حاوی اطلاعاتی در مورد دستگاههای قابل حمل (PDA، ماشینحساب، و غیره) و دستگاههای مورد استفاده برای ایجاد صدا و ویدیو (کنسولهای DJ، صفحهکلید) هستند.
- گزینههای جدید «-- prioritized-subsystem» به udevadm اضافه شده است تا اولویت سیستمهای زیر را تنظیم کند (در systemd-udev-trigger.service برای پردازش دستگاههای بلوک و TPMها ابتدا استفاده میشود)، «-type=all»، «-initialized» -match" و "--initialized-nomatch" برای انتخاب دستگاه های مقداردهی اولیه یا بدون مقدار اولیه، "udevadm info -tree" برای نشان دادن درختی از اشیاء در سلسله مراتب /sys/. udevadm همچنین دستورات جدید «wait» و «lock» را اضافه میکند تا منتظر بمانند تا ورودی دستگاه در پایگاه داده ظاهر شود و یک دستگاه بلوک هنگام قالببندی یا نوشتن جدول پارتیشن قفل شود.
- مجموعه جدیدی از پیوندهای نمادین به دستگاه ها اضافه شد /dev/disk/by-diskseq/ برای شناسایی دستگاه های بلوک با شماره سریال ("diskseq").
- پشتیبانی از پارامتر "Firmware" به فایلهای پیوند در بخش [Match] برای تطبیق دستگاه بر اساس خط با توضیحات میانافزار اضافه شد.
- در systemd-networkd، برای مسیرهای unicast که از طریق بخش [Route] پیکربندی شدهاند، مقدار scope به طور پیشفرض به "link" تغییر کرده است تا با رفتار دستور "ip route" مطابقت داشته باشد. پارامتر Isolated=true|false به بخش [Bridge] اضافه شده است تا مشخصه ای به همین نام برای پل های شبکه در هسته پیکربندی شود. در بخش [Tunnel]، پارامتر خارجی برای تنظیم نوع تونل به خارجی (حالت جمع آوری ابرداده) اضافه شده است. در بخش [DHCPServer]، پارامترهای BootServerName، BootServerAddress و BootFilename برای پیکربندی آدرس سرور، نام سرور و نام فایل بوت ارسال شده توسط سرور DHCP هنگام بوت شدن در حالت PXE اضافه شده است. در بخش [شبکه]، پارامتر L2TP حذف شده است، به جای آن در فایل های netdev. می توانید از تنظیمات جدید Local در ارتباط با رابط L2TP استفاده کنید.
- واحد جدید "systemd-networkd-wait-online@" اضافه شد .service"، که می تواند برای منتظر آمدن یک رابط شبکه خاص استفاده شود.
- اکنون می توان از فایل های .netdev برای ایجاد دستگاه های WLAN مجازی استفاده کرد که می توانند در بخش [WLAN] پیکربندی شوند.
- در فایلهای .link/.network، بخش [Match] پارامتر Kind را برای مطابقت با نوع دستگاه ("bond"، "bridge"، "gre"، "tun"، "veth") اجرا میکند.
- Systemd-resolved در مرحله بوت قبلی راه اندازی شده است، از جمله راه اندازی از initrd اگر systemd-resolved در تصویر initrd وجود داشته باشد.
- systemd-cryptenroll گزینه --fido2-credential-algorithm را برای انتخاب الگوریتم رمزگذاری اعتبار و گزینه --tpm2-with-pin را برای کنترل ورود پین هنگام باز کردن قفل پارتیشن با استفاده از TPM اضافه می کند. یک گزینه tpm2-pin مشابه به /etc/crypttab اضافه شده است. هنگام باز کردن قفل دستگاه ها از طریق TPM، تنظیمات برای محافظت در برابر رهگیری کلیدهای رمزگذاری رمزگذاری می شوند.
- systemd-timesyncd API D-Bus را برای بازیابی پویا اطلاعات از یک سرور NTP از طریق IPC اضافه می کند.
- برای تعیین نیاز به خروجی رنگ، همه دستورات یک بررسی برای متغیر محیطی COLORTERM علاوه بر NO_COLOR، SYSTEMD_COLORS و TERM قبلاً بررسی میکنند.
- سیستم ساخت Meson گزینه install_tag را برای مونتاژ انتخابی و نصب اجزای لازم پیاده سازی می کند: pam، nss، devel (pkg-config)، systemd-boot، libsystemd، libudev. اضافه شدن گزینه build default-compression برای انتخاب الگوریتم فشرده سازی برای systemd-journald و systemd-coredump.
- تنظیمات آزمایشی «راهاندازی مجدد برای بیتلاکر» به sd-boot در loader.conf اضافه شد تا ویندوز مایکروسافت با BitLocker TPM راهاندازی شود.
منبع: opennet.ru