Distri - توزیعی برای آزمایش فناوری های مدیریت بسته سریع

مایکل استاپلبرگ، نویسنده i3wm tiled window manager و توسعه دهنده فعال سابق Debian (حدود 170 بسته را نگهداری می کرد)، توسعه می یابد توزیع تجربی توزیع و یک مدیر بسته به همین نام. این پروژه به عنوان یک کاوش در راه های ممکن برای افزایش عملکرد سیستم های مدیریت بسته ها و تجسم برخی از ایده های جدید برای توزیع ساختمان است. کد مدیریت بسته در Go and نوشته شده است توزیع شده توسط تحت مجوز BSD

یکی از ویژگی های کلیدی فرمت بسته توزیع این است که بسته به جای آرشیو فشرده تار به شکل تصاویر SquashFS تحویل داده می شود. استفاده از SquashFS، مشابه با فرمت‌های AppImage و Snap، به شما امکان می‌دهد یک بسته را بدون نیاز به باز کردن بسته‌بندی «mount» کنید، که فضای دیسک را ذخیره می‌کند، تغییرات اتمی را امکان‌پذیر می‌کند و محتویات بسته را فوراً در دسترس قرار می‌دهد. در عین حال، بسته‌های توزیعی، مانند قالب کلاسیک "deb"، فقط شامل اجزای فردی هستند که توسط وابستگی‌ها با بسته‌های دیگر مرتبط شده‌اند (کتابخانه‌ها در بسته‌ها کپی نمی‌شوند، اما به عنوان وابستگی نصب می‌شوند). به عبارت دیگر، distri سعی می کند ساختار بسته دانه ای توزیع های کلاسیک مانند Debian را با روش های ارائه برنامه های کاربردی در قالب کانتینرهای سوار شده ترکیب کند.

هر بسته در distri در دایرکتوری خود در حالت فقط خواندنی سوار می شود (به عنوان مثال، بسته با zsh به عنوان "/ro/zsh-amd64-5.6.2-3" موجود است)، که تأثیر مثبتی بر امنیت و امنیت دارد. از تغییرات تصادفی یا مخرب محافظت می کند. برای تشکیل سلسله مراتبی از دایرکتوری های سرویس، مانند /usr/bin، /usr/share و /usr/lib، از یک ماژول FUSE ویژه استفاده می شود که محتویات تمام تصاویر SquashFS نصب شده را در یک کل ترکیب می کند (به عنوان مثال، / دایرکتوری ro/share دسترسی به زیرشاخه های اشتراک گذاری از همه بسته ها را فراهم می کند.

بسته های در بخش اساسا تحویل داده شده از کنترل کننده هایی که در حین نصب نامیده می شوند (بدون قلاب یا ماشه)، و نسخه های مختلف یک بسته می توانند با یکدیگر همزیستی داشته باشند، بنابراین نصب موازی بسته ها ممکن می شود. ساختار پیشنهادی عملکرد مدیر بسته را فقط به توان عملیاتی شبکه که بسته ها از طریق آن دانلود می شوند محدود می کند. نصب یا به روز رسانی واقعی بسته به صورت اتمی انجام می شود و نیازی به محتوای تکراری ندارد.

درگیری‌ها هنگام نصب بسته‌ها حذف می‌شوند زیرا هر بسته با دایرکتوری خاص خود مرتبط است و سیستم امکان حضور نسخه‌های مختلف یک بسته را می‌دهد (محتوای دایرکتوری با تجدیدنظر جدیدتر بسته در فهرست‌های اتحادیه گنجانده شده است). ساخت پکیج ها نیز بسیار سریع است و نیازی به نصب بسته ها در یک محیط ساخت مجزا ندارد (نمایندگی وابستگی های لازم از دایرکتوری /ro در محیط ساخت ایجاد می شود).

پشتیبانی دستورات معمولی مدیریت بسته، مانند "distri install" و "distri update" و به جای دستورات اطلاعاتی، می توانید از ابزار استاندارد "ls" استفاده کنید (به عنوان مثال، برای مشاهده بسته های نصب شده، فقط فهرستی از دایرکتوری ها را در " نمایش دهید. /ro” سلسله مراتب، و برای اینکه بفهمید فایل در کدام بسته قرار دارد، ببینید لینک این فایل به کجا منتهی می شود).

کیت توزیع نمونه اولیه پیشنهادی برای آزمایش شامل حدود 1700 بسته و آماده است تصاویر نصب با نصب کننده، هم برای نصب به عنوان سیستم عامل اصلی و هم برای اجرا در QEMU، Docker، Google Cloud و VirtualBox مناسب است. از بوت شدن از یک پارتیشن دیسک رمزگذاری شده و مجموعه ای از برنامه های کاربردی استاندارد برای ایجاد دسکتاپ بر اساس مدیر پنجره i3 پشتیبانی می کند (Google Chrome به عنوان یک مرورگر ارائه می شود). ارائه شده است یک جعبه ابزار کامل برای مونتاژ توزیع، تهیه و تولید بسته ها، توزیع بسته ها از طریق آینه و غیره.

منبع: opennet.ru

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