جعبه ابزار SerpentOS برای آزمایش در دسترس است

پس از دو سال کار روی پروژه، توسعه دهندگان توزیع SerpentOS امکان آزمایش ابزارهای اصلی از جمله:

  • مدیر بسته خزه;
  • سیستم ظرف خزه کانتینر؛
  • سیستم مدیریت وابستگی moss-deps;
  • سیستم مونتاژ تخته سنگ؛
  • سیستم اختفای سرویس بهمن;
  • مدیر مخزن کشتی؛
  • پانل کنترل قله;
  • پایگاه داده moss-db;
  • قبض سیستم بوت استرپینگ تکرارپذیر (بوت استرپ).

API عمومی و دستور العمل های بسته موجود است. این جعبه ابزار در درجه اول با استفاده از زبان برنامه نویسی D توسعه یافته است و کد تحت مجوز Zlib توزیع می شود. بسته ها به زبان پیکربندی YAML نوشته شده و در قالب دودویی .stone بومی که شامل:

  • فراداده بسته و وابستگی های آن؛
  • اطلاعات در مورد مکان بسته در سیستم نسبت به سایر بسته ها.
  • فهرست داده های ذخیره شده؛
  • محتویات فایل های بسته مورد نیاز برای عملیات.

مدیر بسته خزه بسیاری از ویژگی های مدرن توسعه یافته در مدیران بسته مانند eopkg/pisi، rpm، swupd و nix/guix را وام گرفته است، در حالی که دیدگاه سنتی دستکاری بسته را حفظ می کند. همه بسته‌ها به‌طور پیش‌فرض بدون حالت ساخته شده‌اند و شامل فایل‌های غیر عامل سیستم نمی‌شوند تا از موقعیت‌هایی که در آن‌ها حل تعارض بسته یا عملیات ادغام مورد نیاز است، اجتناب شود.

مدیر بسته از یک مدل به روز رسانی سیستم اتمی استفاده می کند که در آن وضعیت rootf ها ثابت می شود و پس از به روز رسانی وضعیت به حالت جدید تغییر می کند. در نتیجه، در صورت بروز هر گونه مشکلی در حین به روز رسانی، امکان بازگرداندن تغییرات به حالت کار قبلی وجود دارد.

برای صرفه جویی در فضای دیسک هنگام ذخیره نسخه های متعدد بسته ها، deduplication بر اساس پیوندهای سخت و حافظه پنهان مشترک استفاده می شود. محتویات بسته های نصب شده در پوشه /os/store/installation/N قرار دارد که N شماره نسخه است. دایرکتوری های پایه با استفاده از پیوندها به محتویات این دایرکتوری پیوند داده می شوند (به عنوان مثال، /sbin به /os/store/installation/0/usr/bin، و /usr به /os/installation/0/usr اشاره می کند).

فرآیند نصب بسته شامل مراحل زیر است:

  • نوشتن دستور نصب (stone.yml);
  • ساخت یک بسته با استفاده از تخته سنگ.
  • دریافت بسته باینری در قالب .stone با متادیتای لازم.
  • وارد کردن بسته ها به پایگاه داده؛
  • نصب با استفاده از مدیر بسته خزه.

تیم توسعه قدیمی توزیع Solus حول پروژه جمع شده است. برای مثال، Ikey Doherty، خالق توزیع Solus، و Joshua Strobl، یکی از توسعه دهندگان کلیدی دسکتاپ Budgie، که قبلاً استعفای خود را از شورای حاکم (تیم اصلی) پروژه Solus اعلام کرده بود، در توسعه توزیع SerpentOS قدرت های رهبر مسئول تعامل با توسعه دهندگان و توسعه رابط کاربری (Experience Lead).

توسعه دهندگان SerpentOS افراد با دانش زبان برنامه نویسی D را تشویق می کنند تا در توسعه ابزارهای اصلی و/یا نوشتن دستور العمل های بسته بپیوندند و از افراد غیر فنی خواسته می شود تا در ترجمه اسناد به زبان های مختلف کمک کنند.

منبع: opennet.ru

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