مدیر بسته GNU Guix 1.4 و توزیع گنو/لینوکس که بر اساس آن ساخته شده بود منتشر شد. برای دانلود، تصاویر برای نصب بر روی USB Flash (814 مگابایت) و استفاده در سیستم های مجازی سازی (1.1 گیگابایت) تولید شده است. پشتیبانی از عملیات در معماری های i686، x86_64، Power9، armv7 و aarch64.
این توزیع امکان نصب را هم به عنوان یک سیستم عامل مستقل در سیستمهای مجازیسازی، در کانتینرها و روی تجهیزات معمولی میدهد و میتواند در توزیعهای گنو/لینوکس از قبل نصبشده راهاندازی شود و به عنوان یک پلتفرم برای استقرار برنامهها عمل کند. عملکردهایی مانند در نظر گرفتن وابستگی ها، ساخت های قابل تکرار، کار بدون روت، بازگشت به نسخه های قبلی در صورت بروز مشکل، مدیریت پیکربندی، شبیه سازی محیط ها (ایجاد یک کپی دقیق از محیط نرم افزار در رایانه های دیگر) و غیره در اختیار کاربر قرار می گیرد. .
نوآوری های اصلی:
- بهبود مدیریت محیط های نرم افزاری دستور «محیط guix» با دستور جدید «guix shell» جایگزین شده است که به شما امکان میدهد نه تنها محیطهای ساخت را برای توسعهدهندگان ایجاد کنید، بلکه میتوانید از محیطهایی برای آشنایی با برنامهها بدون منعکس شدن در نمایه و بدون انجام استفاده کنید. نصب guix”. به عنوان مثال برای دانلود و راه اندازی بازی supertuxkart می توانید “guix shell supertuxkart - supertuxkart” را اجرا کنید. پس از دانلود، بسته در حافظه پنهان ذخیره می شود و راه اندازی بعدی نیازی به استخراج مجدد آن نخواهد داشت.
برای ساده سازی ایجاد محیط برای توسعه دهندگان، "پوسته guix" از فایل های guix.scm و manifest.scm پشتیبانی می کند که ترکیب محیط را توصیف می کند (گزینه "-export-manifest" می تواند برای تولید فایل ها استفاده شود). برای ایجاد کانتینرهایی که در آنها سلسله مراتب دایرکتوری کلاسیک سیستم شبیه سازی شده است، "پوسته guix" گزینه های "-container-emulate-fhs" را ارائه می دهد.
- اضافه شدن دستور "guix home" برای کنترل محیط خانه. Guix به شما امکان می دهد تمام اجزای محیط خانه خود را تعریف کنید، از جمله بسته ها، خدمات و فایل ها که با نقطه شروع می شوند. با استفاده از دستور "guix home"، نمونه هایی از محیط خانه توصیف شده را می توان در دایرکتوری $HOME یا در یک کانتینر، برای مثال، برای انتقال محیط شما به یک کامپیوتر جدید، دوباره ایجاد کرد.
- گزینه "-f deb" را به دستور "guix pack" اضافه کرد تا بسته های deb جداگانه ای را ایجاد کند که می توانند روی دبیان نصب شوند.
- برای ایجاد انواع مختلف تصاویر سیستم (خام، QCOW2، ISO8660 CD/DVD، Docker و WSL2)، یک دستور جهانی "تصویر سیستم guix" پیشنهاد شده است که به شما امکان می دهد نوع ذخیره سازی، پارتیشن ها و سیستم عامل را برای تصویر ایجاد شده تعیین کنید. .
- گزینه "-tune" به دستورات ساخت بسته ها اضافه شده است که به شما امکان می دهد ریزمعماری پردازنده را مشخص کنید که بهینه سازی های خاصی برای آن فعال می شود (به عنوان مثال، دستورالعمل های SIMD AVX-512 را می توان در CPU های جدید AMD و Intel استفاده کرد). .
- نصب کننده مکانیزمی را برای ذخیره خودکار اطلاعات مهم اشکال زدایی در صورت خرابی نصب پیاده سازی می کند.
- زمان راهاندازی برنامه با استفاده از حافظه پنهان در طول پیوند پویا کاهش یافته است، که تماسهای آماری را کاهش میدهد و هنگام جستجوی کتابخانهها، تماسهای سیستمی را باز میکند.
- نسخه جدیدی از سیستم اولیه سازی GNU Shepherd 0.9 استفاده شده است که مفهوم سرویس های موقت (گذرا) و توانایی ایجاد سرویس های فعال شده توسط فعالیت شبکه (به سبک فعال سازی سوکت سیستم) را پیاده سازی می کند.
- یک رابط جدید برای تنظیم اندازه پارتیشن swap در پیکربندی سیستم عامل اضافه شده است.
- رابط برای تنظیم یک پیکربندی شبکه استاتیک دوباره طراحی شده است، که اکنون یک آنالوگ اعلامی از تنظیمات به سبک دستور ip ارائه می دهد.
- اضافه شدن 15 سرویس سیستم جدید از جمله Jami، Samba، fail2ban و Gitile.
- packages.guix.gnu.org را برای پیمایش بسته راه اندازی کرد.
- نسخه های برنامه ها در 6573 بسته به روز شد، 5311 بسته جدید اضافه شد. از جمله، نسخه های به روز شده گنوم 42، Qt 6، GCC 12.2.0، Glibc 2.33، Xfce 4.16، Linux-libre 6.0.10، LibreOffice 7.4.3.2، Emacs 28.2. بیش از 500 بسته را با استفاده از پایتون 2 حذف کرد.
به یاد بیاوریم که مدیر بسته GNU Guix مبتنی بر پیشرفتهای پروژه Nix است و علاوه بر عملکردهای معمول مدیریت بسته، از ویژگیهایی مانند انجام بهروزرسانیهای تراکنشی، توانایی بازگرداندن بهروزرسانیها، کار بدون دریافت امتیازات سوپرکاربر، پشتیبانی، پشتیبانی میکند. پروفایل های مرتبط با کاربران فردی، امکان نصب همزمان چندین نسخه از یک برنامه، ابزار جمع آوری زباله (شناسایی و حذف نسخه های استفاده نشده بسته ها). برای تعریف سناریوهای ساخت برنامه و قوانین تشکیل بسته، پیشنهاد میشود از یک زبان تخصصی سطح بالا مخصوص دامنه و اجزای Guile Scheme API استفاده کنید که به شما امکان میدهد تمام عملیات مدیریت بسته را در Scheme زبان برنامهنویسی کاربردی انجام دهید.
امکان استفاده از بسته های آماده شده برای مدیر بسته Nix و قرار داده شده در مخزن Nixpkgs پشتیبانی می شود. علاوه بر عملیات با بسته ها، امکان ایجاد اسکریپت برای مدیریت تنظیمات برنامه وجود دارد. هنگامی که یک بسته ساخته می شود، تمام وابستگی های مرتبط با آن به طور خودکار دانلود و ساخته می شوند. می توان بسته های باینری آماده را از مخزن بارگیری کرد یا از متن های مبدأ با تمام وابستگی ها ساخت. ابزارهایی برای به روز نگه داشتن نسخه های برنامه های نصب شده با سازماندهی نصب به روز رسانی ها از یک مخزن خارجی پیاده سازی شده اند.
محیط ساخت بسته ها به شکل یک ظرف حاوی تمام اجزای لازم برای کارکرد برنامه تشکیل شده است که به شما امکان می دهد مجموعه ای از بسته ها را ایجاد کنید که بدون توجه به ترکیب محیط سیستم پایه توزیع کار کنند. که در آن از Guix به عنوان یک افزونه استفاده می شود. وابستگی ها را می توان بین بسته های Guix با اسکن هش های شناسه در فهرست بسته های نصب شده تعیین کرد تا وجود وابستگی های قبلاً نصب شده را پیدا کند. بسته ها در یک درخت دایرکتوری یا زیر شاخه جداگانه در دایرکتوری کاربر نصب می شوند که به آن اجازه می دهد به موازات سایر مدیران بسته وجود داشته باشد و از طیف گسترده ای از توزیع های موجود پشتیبانی کند. به عنوان مثال، بسته به صورت /nix/store/452a5978f3b1b426064a2b64a0c6f41-firefox-108.0.1/ نصب می شود، که در آن "452a59..." شناسه بسته منحصر به فرد مورد استفاده برای نظارت بر وابستگی است.
این توزیع فقط شامل اجزای رایگان است و با هسته GNU Linux-Libre ارائه می شود که از عناصر غیرآزاد میان افزار باینری پاک شده است. GCC 12.2 برای مونتاژ استفاده می شود. مدیر سرویس GNU Shepherd (Dmd سابق) به عنوان یک سیستم اولیه استفاده می شود که به عنوان جایگزینی برای SysV-init با پشتیبانی وابستگی توسعه یافته است. شبح کنترل Shepherd و ابزارهای کمکی به زبان Guile (یکی از پیاده سازی های زبان Scheme) نوشته شده اند که برای تعریف پارامترهای راه اندازی سرویس ها نیز استفاده می شود. تصویر پایه از کار در حالت کنسول پشتیبانی می کند، اما 20526 بسته آماده برای نصب آماده شده است، از جمله اجزای پشته گرافیکی مبتنی بر X.Org، مدیران پنجره dwm و ratpoison، دسکتاپ های GNOME و Xfce، و همچنین مجموعه ای از گرافیک ها. برنامه های کاربردی.
منبع: opennet.ru