systemd system manager نسخه 243

پس از پنج ماه توسعه ارایه شده انتشار مدیر سیستم systemd 243. از جمله نوآوری ها، می توان به ادغام در PID 1 یک کنترل کننده برای حافظه کم در سیستم، پشتیبانی از اتصال برنامه های BPF خود برای فیلتر کردن ترافیک واحد، گزینه های جدید متعدد برای systemd-networkd، حالتی برای نظارت بر پهنای باند شبکه اشاره کرد. اینترفیس ها، به طور پیش فرض در سیستم های 64 بیتی اعداد PID 22 بیتی را به جای 16 بیتی فعال می کنند، انتقال به سلسله مراتب cgroups یکپارچه، گنجاندن در systemd-network-generator.

تغییرات اصلی:

  • تشخیص سیگنال‌های تولید شده توسط هسته در مورد کمبود حافظه (Out-Of-Memory، OOM) به کنترل کننده PID 1 اضافه شده است تا واحدهایی را که به حد مجاز مصرف حافظه رسیده‌اند به یک حالت خاص با توانایی اختیاری برای اجبار آنها به خاتمه انتقال دهند. یا توقف؛
  • برای فایل های واحد، پارامترهای جدید IPIngressFilterPath و
    IPEgressFilterPath، که به شما امکان می دهد برنامه های BPF را با کنترل کننده های دلخواه متصل کنید تا بسته های IP ورودی و خروجی تولید شده توسط فرآیندهای مرتبط با این واحد را فیلتر کنید. ویژگی های پیشنهادی به شما این امکان را می دهد که نوعی فایروال برای سرویس های systemd ایجاد کنید. نمونه نوشتن یک فیلتر شبکه ساده بر اساس BPF.

  • دستور “clean” به ابزار systemctl اضافه شده است تا کش، فایل‌های زمان اجرا، اطلاعات وضعیت و دایرکتوری‌های گزارش را حذف کند.
  • systemd-networkd پشتیبانی از رابط های شبکه MACsec، nlmon، IPVTAP و Xfrm را اضافه می کند.
  • systemd-networkd پیکربندی جداگانه پشته‌های DHCPv4 و DHCPv6 را از طریق بخش‌های «[DHCPv4]» و «[DHCPv6]» در فایل پیکربندی پیاده‌سازی می‌کند. گزینه RoutesToDNS را اضافه کرد تا یک مسیر جداگانه به سرور DNS که در پارامترهای دریافتی از سرور DHCP مشخص شده است اضافه کند (به طوری که ترافیک به DNS از طریق همان پیوندی که مسیر اصلی دریافت شده از DHCP است ارسال شود). گزینه های جدیدی برای DHCPv4 اضافه شده است: MaxAttempts - حداکثر تعداد درخواست برای به دست آوردن یک آدرس، لیست سیاه - لیست سیاه سرورهای DHCP، SendRelease - امکان ارسال پیام های DHCP RELEASE پس از پایان جلسه.
  • دستورات جدیدی به ابزار systemd-analyze اضافه شده است:
    • "مهر زمانی سیستم تجزیه و تحلیل" - تجزیه زمان و تبدیل.
    • "Systemd-Alyze Timespan" - تجزیه و تحلیل و تبدیل دوره های زمانی.
    • "شرایط تجزیه و تحلیل سیستم" - تجزیه و آزمایش عبارات ConditionXYZ.
    • "وضعیت خروج سیستم تجزیه و تحلیل" - تجزیه و تبدیل کدهای خروج از اعداد به نام و بالعکس.
    • "systemd-analyze unit-files" - تمام مسیرهای فایل را برای واحدها و نام مستعار واحد فهرست می کند.
  • گزینه های SuccessExitStatus، RestartPreventExitStatus و
    RestartForceExitStatus اکنون نه تنها از کدهای برگشتی عددی، بلکه از شناسه های متنی آنها نیز پشتیبانی می کند (به عنوان مثال، "DATAERR"). با استفاده از دستور "sytemd-analyze exit-status" می توانید لیست کدهای اختصاص داده شده به شناسه ها را مشاهده کنید.

  • دستور "حذف" به ابزار networkctl برای حذف دستگاه های شبکه مجازی و همچنین گزینه "stats" برای نمایش آمار دستگاه اضافه شده است.
  • تنظیمات SpeedMeter و SpeedMeterIntervalSec برای اندازه‌گیری دوره‌ای توان عملیاتی رابط‌های شبکه به networkd.conf اضافه شده‌اند. آمار به دست آمده از نتایج اندازه گیری را می توان در خروجی فرمان 'networkctl status' مشاهده کرد.
  • ابزار جدید systemd-network-generator برای تولید فایل ها اضافه شد
    .network، .netdev و .link بر اساس تنظیمات IP که هنگام راه اندازی از طریق خط فرمان هسته لینوکس در قالب تنظیمات Dracut منتقل می شوند.

  • مقدار sysctl "kernel.pid_max" در سیستم های 64 بیتی اکنون به طور پیش فرض روی 4194304 تنظیم شده است (PID های 22 بیتی به جای 16 بیت)، که احتمال برخورد هنگام اختصاص PID را کاهش می دهد و محدودیت تعداد همزمان را افزایش می دهد. فرآیندهای در حال اجرا است و تأثیر مثبتی بر امنیت دارد. این تغییر به طور بالقوه می تواند منجر به مشکلات سازگاری شود، اما چنین مسائلی هنوز در عمل گزارش نشده است.
  • به طور پیش فرض، مرحله ساخت به سلسله مراتب یکپارچه cgroups-v2 ("-Ddefault-hierarchy=unified") سوئیچ می کند. پیش از این، حالت پیش فرض ترکیبی بود ("-Ddefault-hierarchy=hybrid").
  • رفتار فیلتر فراخوانی سیستم (SystemCallFilter) تغییر کرده است، که در صورت تماس سیستمی ممنوع، اکنون به جای رشته های جداگانه، کل فرآیند را خاتمه می دهد، زیرا پایان دادن به رشته های جداگانه می تواند منجر به مشکلات غیرقابل پیش بینی شود. تغییرات فقط در صورتی اعمال می شوند که هسته لینوکس 4.14+ و libseccomp 2.4.0+ داشته باشید.
  • برنامه‌های غیرمجاز این امکان را دارند که بسته‌های ICMP Echo (پینگ) را با تنظیم sysctl "net.ipv4.ping_group_range" برای کل طیف گروه‌ها (برای همه فرآیندها) ارسال کنند.
  • برای سرعت بخشیدن به فرآیند ساخت، تولید کتابچه راهنمای کاربر به طور پیش فرض متوقف شده است (برای ساخت مستندات کامل، باید از گزینه "-Dman=true" یا "-Dhtml=true" برای کتابچه های راهنما با فرمت html استفاده کنید). برای سهولت مشاهده مستندات، دو اسکریپت گنجانده شده است: build/man/man و build/man/html برای تولید و پیش نمایش کتابچه راهنمای مورد علاقه.
  • برای پردازش نام دامنه با کاراکترهای الفبای ملی، کتابخانه libidn2 به طور پیش فرض استفاده می شود (برای برگرداندن libidn، از گزینه "-Dlibidn=true" استفاده کنید).
  • پشتیبانی از فایل اجرایی /usr/sbin/halt.local که عملکردی را ارائه می‌کرد که به طور گسترده در توزیع‌ها توزیع نشده بود، متوقف شده است. برای سازماندهی راه‌اندازی دستورات هنگام خاموش شدن، توصیه می‌شود از اسکریپت‌ها در /usr/lib/systemd/system-shutdown/ استفاده کنید یا واحد جدیدی را تعریف کنید که به final.target بستگی دارد.
  • در آخرین مرحله خاموش کردن، systemd اکنون به طور خودکار سطح گزارش را در sysctl "kernel.printk" افزایش می دهد، که مشکل نمایش در گزارش رخدادهایی را که در مراحل بعدی خاموش شدن رخ داده اند، زمانی که دیمون های ثبت منظم قبلاً کامل شده اند، حل می کند. ;
  • در journalctl و سایر ابزارهای کمکی که گزارش‌ها را نمایش می‌دهند، هشدارها با رنگ زرد برجسته می‌شوند و سوابق ممیزی با رنگ آبی مشخص می‌شوند تا به صورت بصری آنها را از بین جمعیت برجسته کند.
  • در متغیر محیطی $PATH، مسیر bin/ اکنون قبل از مسیر sbin/ می آید، یعنی. اگر نام یکسانی از فایل های اجرایی در هر دو فهرست وجود داشته باشد، فایل از bin/ اجرا می شود.
  • systemd-logind یک فراخوانی SetBrightness() برای تغییر ایمن روشنایی صفحه نمایش بر اساس هر جلسه ارائه می‌کند.
  • پرچم "--wait-for-initialization" به دستور "udevadm info" اضافه شده است تا منتظر بمانید تا دستگاه مقداردهی اولیه شود.
  • در حین راه اندازی سیستم، کنترل کننده PID 1 اکنون نام واحدها را به جای یک خط با توضیحات آنها نمایش می دهد. برای بازگشت به رفتار گذشته، می‌توانید از گزینه StatusUnitFormat در /etc/systemd/system.conf یا گزینه systemd.status_unit_format هسته استفاده کنید.
  • گزینه KExecWatchdogSec به /etc/systemd/system.conf برای Watchdog PID 1 اضافه شد، که زمان بازراه‌اندازی با استفاده از kexec را مشخص می‌کند. تنظیمات قدیمی
    ShutdownWatchdogSec به RebootWatchdogSec تغییر نام داده است و یک بازه زمانی برای کارها در حین خاموش شدن یا راه اندازی مجدد عادی تعریف می کند.

  • گزینه جدیدی برای خدمات اضافه شده است ExecCondition، که به شما امکان می دهد دستوراتی را مشخص کنید که قبل از ExecStartPre اجرا شوند. بر اساس کد خطای بازگردانده شده توسط فرمان، تصمیمی در مورد اجرای بیشتر واحد گرفته می شود - اگر کد 0 برگردانده شود، راه اندازی واحد ادامه می یابد، اگر از 1 تا 254 بی سر و صدا بدون پرچم خرابی به پایان می رسد، اگر 255 به پایان می رسد پرچم شکست؛
  • یک سرویس جدید systemd-pstore.service برای استخراج داده ها از sys/fs/pstore/ و از ذخیره به /var/lib/pstore برای تجزیه و تحلیل بیشتر اضافه کرد.
  • دستورات جدیدی به ابزار timedatectl برای پیکربندی پارامترهای NTP برای systemd-timesyncd در رابطه با رابط های شبکه اضافه شده است.
  • دستور "localectl list-locales" دیگر محلی به جز UTF-8 را نمایش نمی دهد.
  • اطمینان حاصل می کند که اگر نام متغیر با کاراکتر "-" شروع شود، خطاهای انتساب متغیر در فایل های sysctl.d/ نادیده گرفته می شود.
  • سرویس systemd-random-seed.service اکنون به طور کامل مسئول اولیه سازی استخر آنتروپی مولد اعداد شبه تصادفی هسته لینوکس است. خدماتی که به یک /dev/urandom به درستی مقداردهی اولیه شده نیاز دارند باید بعد از systemd-random-seed.service شروع شوند.
  • بوت لودر systemd-boot توانایی اختیاری برای پشتیبانی را فراهم می کند فایل seed با توالی تصادفی در پارتیشن سیستم EFI (ESP).
  • دستورات جدیدی به ابزار bootctl اضافه شده است: "bootctl random-seed" برای تولید یک فایل seed در ESP و "bootctl is-installed" برای بررسی نصب بوت لودر systemd-boot. bootctl همچنین برای نمایش هشدارهای مربوط به پیکربندی نادرست ورودی های بوت تنظیم شده است (به عنوان مثال، زمانی که تصویر هسته حذف می شود، اما ورودی برای بارگیری آن باقی مانده است).
  • هنگامی که سیستم به حالت خواب می رود، انتخاب خودکار پارتیشن مبادله را فراهم می کند. پارتیشن بسته به اولویت پیکربندی شده برای آن و در مورد اولویت های یکسان، مقدار فضای آزاد انتخاب می شود.
  • گزینه keyfile-timeout به /etc/crypttab اضافه شد تا تعیین کند دستگاه دارای کلید رمزگذاری چه مدت منتظر بماند تا پسوردی برای دسترسی به پارتیشن رمزگذاری شده درخواست کند.
  • اضافه شدن گزینه IOWeight برای تنظیم وزن I/O برای زمانبندی BFQ.
  • systemd-resolved حالت 'strict' را برای DNS-over-TLS اضافه کرد و توانایی کش کردن پاسخ های DNS مثبت را در حافظه پنهان ("Cache no-negative" در solved.conf) پیاده سازی کرد.
  • برای VXLAN، systemd-networkd یک گزینه GenericProtocolExtension را برای فعال کردن پسوندهای پروتکل VXLAN اضافه کرده است. برای VXLAN و GENEVE، گزینه IPDoNotFragment برای تنظیم پرچم ممنوعیت تکه تکه شدن برای بسته های خروجی اضافه شده است.
  • در systemd-networkd، در بخش «[Route]»، گزینه FastOpenNoCookie برای فعال کردن مکانیسم باز کردن سریع اتصالات TCP (TFO - TCP Fast Open, RFC 7413) در رابطه با مسیرهای جداگانه و همچنین گزینه TTLPropagate ظاهر شده است. برای پیکربندی TTL LSP (Label Switched Path). گزینه "Type" از حالت های محلی، پخش، هر پخش، چندپخشی، هر و xresolve پشتیبانی می کند.
  • Systemd-networkd یک گزینه DefaultRouteOnDevice را در بخش "[شبکه]" ارائه می دهد تا به طور خودکار یک مسیر پیش فرض را برای یک دستگاه شبکه مشخص پیکربندی کند.
  • Systemd-networkd ProxyARP و را اضافه کرده است
    ProxyARPWifi برای تنظیم رفتار ARP پراکسی، MulticastRouter برای تنظیم پارامترهای مسیریابی در حالت چندپخشی، MulticastIGMPVersion برای تغییر نسخه IGMP (پروتکل مدیریت گروه اینترنتی) برای چندپخشی.

  • Systemd-networkd گزینه های Local، Peer و PeerPort را برای تونل های FooOverUDP برای پیکربندی آدرس های IP محلی و راه دور و همچنین شماره پورت شبکه اضافه کرده است. برای تونل های TUN، گزینه VnetHeader برای پیکربندی پشتیبانی GSO (Generic Segment Offload) اضافه شده است.
  • در systemd-networkd، در فایل‌های .network و .link در بخش [Match]، یک گزینه Property ظاهر شده است که به شما امکان می‌دهد دستگاه‌ها را با ویژگی‌های خاص آنها در udev شناسایی کنید.
  • در systemd-networkd، یک گزینه AssignToLoopback برای تونل ها اضافه شده است که کنترل می کند آیا انتهای تونل به دستگاه loopback "lo" اختصاص داده می شود یا خیر.
  • systemd-networkd اگر پشته IPv6 از طریق sysctl مسدود شده باشد، به طور خودکار فعال می‌شود.
  • در فایل‌های شبکه، تنظیمات CriticalConnection با گزینه KeepConfiguration جایگزین شده است، که ابزار بیشتری برای تعریف موقعیت‌ها ("بله"، "استاتیک"، "dhcp-on-stop"، "dhcp") که در آن systemd-networkd باید هنگام راه اندازی، اتصالات موجود را لمس نکنید.
  • آسیب پذیری رفع شد CVE-2019-15718، ناشی از عدم کنترل دسترسی به رابط D-Bus سیستم حل شده است. این مشکل به یک کاربر غیرمجاز اجازه می دهد تا عملیاتی را انجام دهد که فقط در اختیار مدیران است، مانند تغییر تنظیمات DNS و هدایت پرس و جوهای DNS به یک سرور سرکش.
  • آسیب پذیری رفع شد CVE-2019-9619مربوط به فعال نکردن pam_systemd برای جلسات غیر تعاملی است که امکان جعل جلسه فعال را فراهم می کند.

منبع: opennet.ru

اضافه کردن نظر