پس از پنج ماه توسعه
اصلی
- پشتیبانی از کنترل کننده منبع فریزر مبتنی بر cgroups v2 اضافه شده است، که با آن می توانید فرآیندها را متوقف کرده و به طور موقت برخی از منابع (CPU، I/O، و احتمالاً حتی حافظه) را برای انجام کارهای دیگر آزاد کنید. یخ زدایی و یخ زدایی واحدها با استفاده از دستور جدید "systemctl freeze" یا از طریق D-Bus کنترل می شود.
- پشتیبانی برای تأیید تصویر دیسک ریشه با استفاده از امضای دیجیتال اضافه شده است. تأیید با استفاده از تنظیمات جدید در واحدهای خدماتی انجام می شود: RootHash (هش ریشه برای تأیید تصویر دیسک مشخص شده از طریق گزینه RootImage) و RootHashSignature (امضای دیجیتال با فرمت PKCS#7 برای هش ریشه).
- کنترل کننده PID 1 توانایی بارگیری خودکار قوانین AppArmor از پیش کامپایل شده (/etc/apparmor/earlypolicy) را در مرحله بوت اولیه پیاده سازی می کند.
- تنظیمات فایل واحد جدید اضافه شده است: ConditionPathIsEncrypted و AssertPathIsEncrypted برای بررسی قرارگیری مسیر مشخص شده در یک دستگاه بلوکی که از رمزگذاری (dm-crypt/LUKS)، ConditionEnvironment و AssertEnvironment برای بررسی متغیرهای محیطی (به عنوان مثال، آنهایی که توسط PAM یا تنظیم شده اند استفاده می کند. هنگام تنظیم ظروف).
- برای واحدهای *.mount، تنظیم ReadWriteOnly پیادهسازی شده است، که نصب پارتیشن را در حالت فقط خواندنی ممنوع میکند، اگر امکان نصب آن برای خواندن و نوشتن وجود نداشت. در /etc/fstab این حالت با استفاده از گزینه "x-systemd.rw-only" پیکربندی می شود.
- برای واحدهای *.socket، تنظیمات PassPacketInfo اضافه شده است، که به هسته امکان می دهد متادیتای اضافی را برای هر بسته خوانده شده از سوکت اضافه کند (حالت های IP_PKTINFO، IPV6_RECVPKTINFO و NETLINK_PKTINFO را برای سوکت فعال می کند).
- برای سرویسها (*. واحدهای سرویس)، تنظیمات CoredumpFilter پیشنهاد میشود (بخشهای حافظه را که باید در قسمتهای اصلی گنجانده شوند، تعریف میکند) و
TimeoutStartFailureMode/TimeoutStopFailureMode (رفتار (SIGTERM، SIGABRT یا SIGKILL) را زمانی که زمان شروع یا توقف یک سرویس رخ می دهد، تعیین می کند). - اکنون اکثر گزینه ها از مقادیر هگزادسیمال مشخص شده با استفاده از پیشوند "0x" پشتیبانی می کنند.
- در پارامترهای مختلف خط فرمان و فایلهای پیکربندی مربوط به راهاندازی کلیدها یا گواهیها، میتوان مسیر سوکتهای یونیکس (AF_UNIX) را برای انتقال کلیدها و گواهیها از طریق تماس به سرویسهای IPC در زمانی که قرار دادن گواهیها بر روی دیسک رمزگذاری نشده مطلوب نیست، مشخص کرد. ذخیره سازی.
- پشتیبانی اضافه شده برای شش مشخص کننده جدید که می توانند در واحدها، tmpfiles.d/، sysusers.d/ و فایل های پیکربندی دیگر استفاده شوند: %a برای جایگزینی معماری فعلی، %o/%w/%B/%W برای جایگزینی فیلدها با شناسه از /etc/os-release و %l برای جایگزینی کوتاه نام میزبان.
- فایلهای واحد دیگر از نحو «.include» که 6 سال پیش منسوخ شده بود، پشتیبانی نمیکنند.
- تنظیمات StandardError و StandardOutput دیگر از مقادیر "syslog" و "syslog-console" پشتیبانی نمی کنند، که به طور خودکار به "journal" و "journal+console" تبدیل می شوند.
- برای نقاط نصب خودکار مبتنی بر tmpfs (/tmp، /run، /dev/shm، و غیره)، محدودیتهایی در اندازه و تعداد inode ارائه میشود که مربوط به 50 درصد از اندازه RAM برای /tmp و /dev/ است. shm و 10 درصد رم برای بقیه.
- گزینههای جدید خط فرمان هسته اضافه شد: systemd.hostname برای تنظیم نام میزبان در مرحله راهاندازی اولیه، udev.blockdev_read_only برای محدود کردن تمام دستگاههای بلوک مرتبط با درایوهای فیزیکی به حالت فقط خواندنی (میتوانید از دستور "blockdev --setrw" استفاده کنید تا لغو انتخابی)، systemd .swap برای غیرفعال کردن فعالسازی خودکار پارتیشن swap، systemd.clock-usec برای تنظیم ساعت سیستم در میکروثانیه، systemd.condition-needs-update و systemd.condition-first-boot برای لغو ConditionNeedsUpdate و ConditionFirstBoot چک ها
- بهطور پیشفرض، sysctl fs.suid_dumpable روی 2 ("suidsafe") تنظیم شده است، که اجازه میدهد فایلهای هستهای را برای فرآیندهای دارای پرچم suid ذخیره کنید.
- فایل /usr/lib/udev/hwdb.d/60-autosuspend.hwdb در پایگاه داده سخت افزاری از ChromiumOS قرض گرفته شده است که شامل اطلاعاتی درباره دستگاه های PCI و USB است که از حالت خواب خودکار پشتیبانی می کنند.
- یک تنظیم ManageForeignRoutes به networkd.conf اضافه شده است، هنگامی که فعال شود، systemd-networkd شروع به مدیریت تمام مسیرهای پیکربندی شده توسط سایر ابزارها می کند.
- بخش «[SR-IOV]» به فایلهای شبکه. برای پیکربندی دستگاههای شبکهای که از SR-IOV (مجازیسازی ورودی/خروجی تک ریشه) پشتیبانی میکنند، اضافه شده است.
- در systemd-networkd، تنظیمات IPv4AcceptLocal به بخش «[شبکه]» اضافه شده است تا بستههایی که با آدرس منبع محلی میرسند در رابط شبکه دریافت شوند.
- systemd-networkd توانایی پیکربندی رشته های اولویت بندی ترافیک HTB را از طریق [HierarchyTokenBucket] و
[HierarchyTokenBucketClass]، "pfifo" از طریق [PFIFO]، "GRED" از طریق [GenericRandomEarlyDetection]، "SFB" از طریق [StochasticFairBlue]، "cake"
از طریق [CAKE]، "PIE" از طریق [PIE]، "DRR" از طریق [DeficitRoundRobinScheduler] و
[DeficitRoundRobinSchedulerClass]، "BFIFO" از طریق [BFIFO]،
"PFIFOHeadDrop" از طریق [PFIFOHeadDrop]، "PFIFOFast" از طریق [PFIFOFast]، "HHF"
از طریق [HeavyHitterFilter]، "ETS" از طریق [EnhancedTransmissionSelection]،
"QFQ" از طریق [QuickFairQueueing] و [QuickFairQueueingClass]. - در systemd-networkd، یک تنظیمات UseGateway به بخش [DHCPv4] اضافه شده است تا استفاده از اطلاعات دروازه به دست آمده از طریق DHCP را غیرفعال کند.
- در systemd-networkd، در بخشهای [DHCPv4] و [DHCPServer]، یک تنظیم SendVendorOption برای نصب و پردازش گزینههای فروشنده اضافی اضافه شده است.
- systemd-networkd مجموعه جدیدی از گزینه های EmitPOP3/POP3، EmitSMTP/SMTP و EmitLPR/LPR را در بخش [DHCPServer] پیاده سازی می کند تا اطلاعاتی درباره سرورهای POP3، SMTP و LPR اضافه کند.
- در systemd-networkd، در فایلهای netdev در بخش [Bridge]، تنظیمات VLANProtocol برای انتخاب پروتکل VLAN برای استفاده اضافه شده است.
- در systemd-networkd، در فایلهای .network در بخش [Link]، تنظیمات Group برای مدیریت گروهی از پیوندها پیادهسازی میشود.
- تنظیمات BlackList به DenyList تغییر نام داده است (حفظ نام قدیمی برای سازگاری با عقب).
- Systemd-networkd بخش بزرگی از تنظیمات مربوط به IPv6 و DHCPv6 را اضافه کرده است.
- دستور "forcerenew" را به networkctl اضافه کرد تا مجبور شود تمام پیوندهای آدرس به روز شوند (اجاره).
- در systemd-resolved، در پیکربندی DNS، تعیین شماره پورت و نام میزبان برای تأیید گواهی DNS-over-TLS امکان پذیر شد. اجرای DNS-over-TLS پشتیبانی از بررسی SNI را اضافه کرده است.
- Systemd-resolved اکنون توانایی پیکربندی تغییر جهت نامهای DNS تک برچسبی (تک برچسب، از یک نام میزبان) را دارد.
- systemd-journald برای استفاده از الگوریتم zstd برای فشرده سازی فیلدهای بزرگ در مجلات پشتیبانی می کند. کار برای محافظت در برابر برخورد در جداول هش مورد استفاده در مجلات انجام شده است.
- هنگام نمایش پیام های گزارش، URL های قابل کلیک با پیوندهایی به اسناد به journalctl اضافه شده اند.
- یک تنظیم حسابرسی به journald.conf اضافه کرد تا کنترل کند آیا ممیزی در طول مقداردهی اولیه systemd-journald فعال است یا خیر.
- Systemd-coredump در حال حاضر توانایی فشرده سازی هسته dump ها را با استفاده از الگوریتم zstd دارد.
- تنظیمات UUID را به systemd-repart اضافه کرد تا یک UUID به پارتیشن ایجاد شده اختصاص دهد.
- سرویس systemd-homed که مدیریت دایرکتوریهای خانگی قابل حمل را ارائه میکند، قابلیت باز کردن دایرکتوریهای خانگی با استفاده از توکنهای FIDO2 را اضافه کرده است. باطن رمزگذاری پارتیشن LUKS پشتیبانی از بازگرداندن خودکار بلوکهای سیستم فایل خالی پس از پایان جلسه را اضافه کرده است. اگر مشخص شود که پارتیشن /home در سیستم قبلاً رمزگذاری شده است، محافظت در برابر رمزگذاری مضاعف داده ها اضافه شده است.
- تنظیمات اضافه شده به /etc/crypttab: "keyfile-erase" برای حذف یک کلید پس از استفاده و "try-empty-password" برای باز کردن قفل پارتیشن با رمز عبور خالی قبل از درخواست از کاربر برای رمز عبور (مفید برای نصب تصاویر رمزگذاری شده با رمز عبور اختصاص داده شده پس از اولین بوت، نه در حین نصب).
- systemd-cryptsetup برای باز کردن قفل پارتیشنهای Microsoft BitLocker در زمان راهاندازی با استفاده از /etc/crypttab پشتیبانی میکند. همچنین قابلیت خواندن اضافه شده است
کلیدهایی برای باز کردن خودکار پارتیشن ها از فایل های /etc/cryptsetup-keys.d/.key و /run/cryptsetup-keys.d/.key. - اضافه شده systemd-xdg-autostart-generator برای ایجاد فایل های واحد از فایل های شروع خودکار دسکتاپ.
- دستور "reboot-to-firmware" به "bootctl" اضافه شد.
- گزینه های اضافه شده به systemd-firstboot: "--image" برای تعیین تصویر دیسک برای بوت کردن، "--kernel-command-line" برای مقداردهی اولیه فایل /etc/kernel/cmdline، "--root-password-hashed" به هش رمز عبور ریشه و "--delete-root-password" را برای حذف رمز عبور root مشخص کنید.
منبع: opennet.ru