انتشار توزیع لینوکس Photon OS 5.0 با هدف ارائه یک محیط میزبان حداقلی برای اجرای برنامه ها در کانتینرهای ایزوله منتشر شده است. این پروژه توسط VMware در حال توسعه است و ادعا میشود که برای استقرار برنامههای کاربردی صنعتی، از جمله بهبودهای امنیتی اضافی، و ارائه بهینهسازیهای پیشرفته برای محیطهای VMware vSphere، Microsoft Azure، Amazon Elastic Compute و Google Compute Engine مناسب است. متون منبع اجزای توسعهیافته برای Photon OS تحت مجوز GPLv2 (به استثنای کتابخانه libtdnf که تحت مجوز LGPLv2.1 باز است) ارائه میشوند. تصاویر آماده ISO و OVA برای سیستمهای x86_64، ARM64، Raspberry Pi و پلتفرمهای ابری مختلف تحت یک قرارداد کاربر جداگانه (EULA) ارائه میشوند.
این سیستم به شما امکان می دهد اکثر فرمت های کانتینر از جمله فرمت های Docker، Rocket و Garden را اجرا کنید و از پلتفرم های ارکستراسیون کانتینر مانند Mesos و Kubernetes پشتیبانی می کند. برای مدیریت نرم افزار و نصب به روز رسانی، از یک فرآیند پس زمینه pmd (Photon Management Daemon) و جعبه ابزار tdnf خود استفاده می کند که با مدیر بسته YUM سازگار است و یک مدل مدیریت چرخه حیات توزیع مبتنی بر بسته را ارائه می دهد. این سیستم همچنین ابزارهایی را برای انتقال آسان کانتینرهای برنامه از محیط های توسعه دهنده (مانند مواردی که از VMware Fusion و VMware Workstation استفاده می کنند) به محیط های ابری ارائه می دهد.
Systemd برای مدیریت خدمات سیستم استفاده می شود. هسته با بهینهسازیهایی برای Hypervisor VMware ساخته شده است و شامل تنظیمات سختسازی امنیتی است که توسط پروژه محافظت از خود هسته (KSPP) توصیه میشود. هنگام ساخت بسته ها، از گزینه های کامپایلر که امنیت را افزایش می دهند استفاده می شود. کیت توزیع در سه نسخه تشکیل شده است: حداقل (538 مگابایت، شامل بستههای اولیه سیستم و زمان اجرا برای کانتینرهای در حال اجرا)، ساخت برای توسعهدهندگان (4.3 گیگابایت، شامل بستههای اضافی برای توسعه و آزمایش برنامههای ارائه شده در کانتینرها) و ساخت برای وظایف در حال اجرا در زمان واقعی (683 مگابایت، حاوی هسته با وصله های PREEMPT_RT برای اجرای برنامه های بیدرنگ).
پیشرفت های کلیدی در انتشار Photon OS 5.0:
- پشتیبانی از سیستم های فایل XFS و BTRFS اضافه شده است.
- اضافه شدن پشتیبانی برای پیکربندی VPN WireGuard، مسیرهای متعدد، SR-IOV (مجازی سازی ورودی/خروجی تک ریشه)، ایجاد و پیکربندی دستگاه های مجازی، ایجاد رابط های NetDev، VLAN، VXLAN، Bridge، Bond، VETH (اترنت مجازی) در Network Configuration Manager فرآیند، MacVLAN/MacVTap، IPvlan/IPvtap و تونل ها (IPIP، SIT، GRE، VTI). دامنه پارامترهای دستگاه شبکه موجود برای پیکربندی و مشاهده گسترش یافته است.
- پشتیبانی از پیکربندی نام میزبان، رابط های TLS، SR-IOV، Tap و Tun به فرآیند PMD-Nextgen (شیب مدیریت عکس) اضافه شده است.
- Network-event-broker امکان جایگزینی داده های شبکه را در قالب JSON اضافه کرد.
- قابلیت ساخت ظروف سبک وزن به ابزار cntrctl اضافه شده است.
- پشتیبانی از cgroups v2 اضافه شده است، که می تواند به عنوان مثال برای محدود کردن حافظه، CPU و مصرف I/O استفاده شود. تفاوت اصلی بین cgroups v2 و v1 استفاده از سلسله مراتب مشترک cgroups برای همه انواع منابع به جای سلسله مراتب جداگانه برای تخصیص CPU، مدیریت حافظه و I/O است.
- اضافه شدن قابلیت اعمال اصلاحات بر روی هسته لینوکس بدون توقف کار و بدون راه اندازی مجدد (Kernel Live Patching).
- پشتیبانی برای ایمن سازی کانتینرها با سیاست های SELinux اضافه شده است.
- قابلیت ایجاد کانتینرها بدون کاربر ریشه اضافه شده است.
- پشتیبانی از معماری ARM64 برای هسته لینوکس-esx اضافه شده است.
- پشتیبانی از PostgreSQL DBMS اضافه شده است. شاخه های 13، 14 و 15 پشتیبانی می شوند.
- در مدیریت بسته tdnf، پشتیبانی از دستورات برای کار با تاریخچه تغییرات (list، rollback، undo و redo) اضافه شده است، دستور mark پیاده سازی شده است.
- نصب کننده پشتیبانی از اسکریپت های فراخوانی شده در مرحله قبل از شروع نصب را اضافه کرده است. یک ابزار برای تولید تصاویر سفارشی initrd اضافه شده است.
- پشتیبانی از حالت پارتیشن بندی "A/B" اضافه شده است که دو پارتیشن ریشه یکسان در درایو ایجاد می کند - فعال و غیرفعال. به روز رسانی جدید بر روی پارتیشن غیرفعال بدون تأثیر بر عملکرد پارتیشن فعال نصب می شود. سپس پارتیشن ها تعویض می شوند - پارتیشن با آپدیت جدید فعال می شود و پارتیشن فعال قبلی در حالت غیرفعال قرار می گیرد و منتظر می ماند تا آپدیت بعدی نصب شود. اگر بعد از بهروزرسانی مشکلی پیش آمد، میتوان به نسخه قبلی بازگشت.
- نسخههای بسته بهروزرسانی شده، بهعنوان مثال هسته لینوکس 6.1.10، GCC 12.2، Glibc 2.36، Systemd 253، Python3 3.11، Openjdk 17، Openssl 3.0.8، Cloud-init 23.1.1، Ruby 3.1.2، 5.36، 1.26.1. ، برو 1.20.2.
منبع: opennet.ru