systemd 245 با اجرای دایرکتوری خانگی قابل حمل در دسترس است

پس از سه ماه توسعه ارایه شده انتشار مدیر سیستم systemd 245. در نسخه جدید، اجزای جدید systemd-homed و systemd-repart اضافه شده است، پشتیبانی از پروفایل های کاربر قابل حمل با فرمت JSON گنجانده شده است، امکان تعریف فضاهای نام در systemd-journald ارائه شده است و پشتیبانی از مکانیزم "pidfd" اضافه شده است. . کاملاً بازطراحی شده است وب سایت پروژه، که بیشتر اسناد موجود را جمع آوری می کند و یک لوگوی جدید پیشنهاد می کند.

systemd 245 با اجرای دایرکتوری خانگی قابل حمل در دسترس است

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

  • سرویس اضافه شد systemd-homed، که مدیریت دایرکتوری های خانگی قابل حمل را ارائه می دهد که در قالب یک فایل تصویری نصب شده ارائه می شود که داده ها در آن رمزگذاری شده است. Systemd-homed به شما این امکان را می دهد که محیط های مستقلی برای داده های کاربر ایجاد کنید که می توانند بین سیستم های مختلف بدون نگرانی در مورد همگام سازی شناسه و محرمانه بودن منتقل شوند. اعتبار کاربر به جای تنظیمات سیستم به فهرست اصلی گره خورده است - یک نمایه در قالب به جای /etc/passwd، /etc/group و /etc/shadow استفاده می شود. JSON. برای جزئیات بیشتر، نگاه کنید آخرین اطلاعیه systemd-homed.
  • اضافه شدن جزء همراه systemd-homed "userdb” (“systemd-userdb”)، که حساب‌های NSS UNIX/glibc را به رکوردهای JSON ترجمه می‌کند و یک Varlink API یکپارچه برای پرس و جو و تکرار روی رکوردها ارائه می‌کند. نمایه JSON مرتبط با فهرست اصلی، پارامترهای مورد نیاز برای کار کاربر، از جمله نام کاربری، هش رمز عبور، کلیدهای رمزگذاری، سهمیه ها و منابع ارائه شده را مشخص می کند. نمایه را می توان با امضای دیجیتال ذخیره شده در یک توکن خارجی Yubikey تأیید کرد. برای مدیریت پروفایل ها، ابزار “userdbctl” پیشنهاد شده است. پشتیبانی از پروفایل های JSON به اجزای مختلف systemd، از جمله systemd-logind و pam-systemd اضافه شده است، که به کاربران دایرکتوری های قابل حمل امکان احراز هویت، ورود به سیستم، تنظیم متغیرهای محیطی، ایجاد یک جلسه، تعیین محدودیت و غیره را می دهد. در آینده، انتظار می رود که فریم ورک sssd بتواند پروفایل های JSON را با تنظیمات کاربر ذخیره شده در LDAP تولید کند.
  • یک ابزار جدید "systemd-repart" اضافه شده است که برای تقسیم مجدد جداول پارتیشن دیسک در قالب GPT طراحی شده است. ساختار پارتیشن به شکل اعلانی از طریق فایل هایی تعریف می شود که توضیح می دهد کدام پارتیشن باید یا می تواند وجود داشته باشد. در هر بوت جدول واقعی پارتیشن ها با این فایل ها مقایسه می شود و پس از آن پارتیشن های از دست رفته اضافه می شوند یا اگر اندازه نسبی یا مطلق تعریف شده در تنظیمات مطابقت نداشت، اندازه پارتیشن های موجود افزایش می یابد. فقط تغییرات افزایشی مجاز است، یعنی. حذف و کاهش اندازه امکان پذیر نیست، پارتیشن ها فقط می توانند اضافه و بزرگ شوند.
    این ابزار به گونه ای طراحی شده است که از initrd راه اندازی شود و به طور خودکار دیسکی را که پارتیشن ریشه در آن قرار دارد شناسایی می کند که به پیکربندی اضافی نیاز ندارد، به جز فایل هایی با تعریف تغییرات.

    در عمل، systemd-repart می‌تواند برای تصاویر سیستم‌عاملی مفید باشد که در ابتدا ممکن است به شکل حداقلی ارسال شوند، و پس از اولین راه‌اندازی می‌توانند به اندازه دستگاه بلوک موجود گسترش یابند یا با پارتیشن‌های اضافی (به عنوان مثال، root) تکمیل شوند. پارتیشن را می توان گسترش داد تا کل دیسک را پوشش دهد یا پس از اولین بوت، یک پارتیشن swap یا /home ایجاد کرد. استفاده دیگر، پیکربندی با دو پارتیشن چرخان است - فقط پارتیشن اول ممکن است در ابتدا عرضه شود و پارتیشن دوم در اولین بوت ایجاد شود.

  • اکنون می‌توان چندین نمونه از systemd-journald را راه‌اندازی کرد که هر کدام از آنها گزارش‌ها را در فضای نام خود نگه می‌دارند. علاوه بر systemd-journald.service. هر فضای نام log توسط یک فرآیند پس زمینه جداگانه با مجموعه تنظیمات و محدودیت های خاص خود ارائه می شود. ویژگی پیشنهادی ممکن است برای متعادل کردن بار با حجم زیاد لاگ یا برای افزایش جداسازی برنامه مفید باشد. گزینه "--namespace" به journalctl اضافه شد تا پرس و جو فقط به فضای نام مشخص شده محدود شود.
  • Systemd-udevd و سایر مؤلفه‌های systemd از مکانیزمی برای اختصاص نام‌های جایگزین به رابط‌های شبکه پشتیبانی می‌کنند، که اجازه می‌دهد چندین نام به طور همزمان برای یک رابط استفاده شود. نام می تواند حداکثر 128 کاراکتر باشد (قبلاً نام رابط شبکه به 16 کاراکتر محدود می شد). به‌طور پیش‌فرض، systemd-udevd اکنون به هر رابط شبکه همه نام‌های متغیر تولید شده توسط طرح‌های نام‌گذاری پشتیبانی شده را اختصاص می‌دهد. این رفتار را می توان از طریق تنظیمات جدید AlternativeName و AlternativeNamesPolicy در فایل های لینک تغییر داد. systemd-nspawn تولید نام‌های جایگزین را با نام کانتینر کامل برای پیوندهای veth ایجاد شده در سمت میزبان پیاده‌سازی می‌کند.
  • API sd-event.h پشتیبانی از زیرسیستم هسته لینوکس "pidfd" را اضافه می کند تا وضعیت استفاده مجدد از PID را مدیریت کند (pidfd با یک فرآیند خاص مرتبط است و تغییر نمی کند، در حالی که یک PID می تواند پس از فرآیند فعلی با فرآیند دیگری مرتبط شود. مرتبط با آن از این PID خارج می شود). تمام اجزای systemd به جز PID 1 برای استفاده از pidfds در صورتی که زیرسیستم توسط هسته فعلی پشتیبانی شود، تبدیل شده اند.
  • systemd-login چک های دسترسی را برای عملیات تغییر ترمینال مجازی از طریق PolicyKit فراهم می کند. به طور پیش فرض، مجوز تغییر ترمینال فعال فقط به کاربرانی داده می شود که حداقل یک بار جلسه ای را در ترمینال مجازی محلی راه اندازی کرده باشند.
  • برای آسان‌تر ساختن تصاویر initrd با systemd، کنترل‌کننده PID 1 اکنون تشخیص می‌دهد که آیا از آن در initrd استفاده می‌شود یا خیر و در این مورد به‌جای default.target به‌طور خودکار initrd.target را بارگیری می‌کند. با این رویکرد، تصاویر initrd و اصلی سیستم تنها در حضور فایل /etc/initrd-release می توانند متفاوت باشند.
  • یک پارامتر خط فرمان هسته جدید اضافه شد - "systemd.cpu_affinity"، معادل گزینه CPUAffinity در /etc/systemd/system.conf و به شما این امکان را می دهد که ماسک وابستگی CPU را برای PID 1 و سایر فرآیندها پیکربندی کنید.
  • بارگیری مجدد پایگاه داده SELinux به همراه راه اندازی مجدد PID 1 از طریق دستوراتی مانند "systemctl daemon-reload" فعال شد.
  • تنظیم "systemd.show-status=error" به کنترل کننده PID 1 اضافه شده است، در صورت تنظیم، فقط پیام های خطا و تاخیرهای قابل توجه در هنگام بارگیری روی کنسول نمایش داده می شود.
  • systemd-sysusers برای ایجاد کاربران با نام گروه اصلی که با نام کاربری متفاوت است، پشتیبانی اضافه کرد.
  • systemd-growfs پشتیبانی از گسترش پارتیشن XFS را از طریق گزینه x-systemd.growfs mount در /etc/fstab، علاوه بر توسعه پارتیشن که قبلاً با Ext4 و Btrfs پشتیبانی می شد، معرفی می کند.
  • گزینه x-initrd.attach را به /etc/crypttab اضافه کرد تا یک پارتیشن رمزگذاری شده را که قبلاً در مرحله initrd باز شده است تعریف کند.
  • systemd-cryptsetup پشتیبانی (گزینه pkcs11-uri در /etc/crypttab) را برای باز کردن قفل پارتیشن‌های رمزگذاری شده با استفاده از کارت‌های هوشمند PKCS#11، به عنوان مثال برای پیوست کردن رمزگذاری پارتیشن به YubiKeys، اضافه کرده است.
  • گزینه های mount جدید "x-systemd.required-by" و "x-systemd.wanted-by" به /etc/fstab اضافه شده اند تا به طور صریح واحدهایی را پیکربندی کنند که عملیات mount را به جای local-fs.target و remote فراخوانی می کنند. -fs .target.
  • یک گزینه Sandboxing سرویس جدید اضافه شده است - ProtectClock، که نوشتن را به ساعت سیستم محدود می کند (دسترسی در سطح /dev/rtc، تماس های سیستمی و مجوزهای CAP_SYS_TIME/CAP_WAKE_ALARM مسدود شده است).
  • به مشخصات پارتیشن های قابل کشف و systemd-gpt-auto-generator تشخیص پارتیشن را اضافه کرد
    /var و /var/tmp.

  • در "systemctl list-unit-files"، هنگام نمایش لیست واحدها، ستون جدیدی ظاهر می شود که وضعیت فعال سازی ارائه شده در تنظیمات از پیش تعیین شده سازنده برای این نوع واحد را نشان می دهد.
  • یک گزینه "-with-dependencies" به "systemctl" اضافه شده است، هنگام نصب، دستوراتی مانند "systemctl status" و "systemctl cat" نه تنها همه واحدهای مربوطه، بلکه واحدهایی را که به آنها وابسته هستند نیز نمایش می دهند.
  • در systemd-networkd، پیکربندی qdisc توانایی پیکربندی پارامترهای TBF (فیلتر سطل توکن)، SFQ (صف عادلانه تصادفی)، CoDel (مدیریت صف فعال با تاخیر کنترل شده) و FQ (صف منصفانه) را اضافه کرده است.
  • systemd-networkd پشتیبانی اضافه شده برای دستگاه های شبکه IFB (بلوک عملکردی متوسط).
  • Systemd-networkd پارامتر MultiPathRoute را در بخش [Route] پیاده سازی می کند تا مسیرهای چند مسیری را پیکربندی کند.
  • در systemd-networkd برای کلاینت DHCPv4، گزینه SendDecline اضافه شده است، در صورت مشخص شدن، پس از دریافت پاسخ DHCP با آدرس، بررسی آدرس تکراری انجام می شود و در صورت تشخیص تضاد آدرس، آدرس صادر شده رد می شود. گزینه RouteMTUBytes نیز به سرویس گیرنده DHCPv4 اضافه شده است که به شما امکان می دهد اندازه MTU را برای مسیرهای تولید شده از اتصالات آدرس IP (اجاره) تعیین کنید.
  • تنظیم PrefixRoute در بخش [Address] فایل‌های شبکه منسوخ شده است. با تنظیم "AddPrefixRoute" جایگزین شد که معنای مخالف دارد.
  • در فایل‌های شبکه، پشتیبانی از مقدار جدید "_dhcp" به تنظیمات Gateway در بخش "[Route]" اضافه شده است، هنگامی که تنظیم می‌شود، یک مسیر ثابت بر اساس دروازه پیکربندی شده از طریق DHCP انتخاب می‌شود.
  • تنظیمات در فایل‌های .network در بخش «[RoutingPolicyRule]» ظاهر شده‌اند.
    User و SuppressPrefixLength برای تعیین مسیریابی منبع بر اساس محدوده UID و اندازه پیشوند.

  • در networkctl، دستور "status" امکان نمایش گزارش‌ها را در رابطه با هر رابط شبکه فراهم می‌کند.
  • systemd-networkd-wait-online پشتیبانی را برای تنظیم حداکثر زمان انتظار برای عملیاتی شدن یک رابط و منتظر ماندن برای از کار افتادن یک رابط اضافه می کند.
  • پردازش فایل‌های .link و .network را با بخش «[Match]» خالی یا نظر داده شده متوقف کرد.
  • در فایل‌های .link و .network، در بخش "[Match]"، یک تنظیم "PermanentMACAddress" اضافه شده است تا آدرس MAC دائمی دستگاه‌ها را در صورت استفاده از MAC تصادفی تولید شده بررسی کند.
  • بخش «[TrafficControlQueueingDiscipline]» در فایل‌های شبکه به «[NetworkEmulator] تغییر نام یافته است، و پیشوند «NetworkEmulator» از نام تنظیمات مرتبط حذف شده است.
  • systemd-resolved برای DNS-over-TLS پشتیبانی از بررسی SNI را اضافه می کند.

منبع: opennet.ru

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