NixOS مدیریت پکیجها با رویکردی انقلابی!

نحوه مدیریت پکیج‌ها با apt , yum , dnf و pkg در سرور مجازی لیارا

این برنامه بر روی Nix ساخته شده است، یک مدیر بسته کاربردی که زبان آن از برنامه نویسی تابعی الهام گرفته شده است. NixOS قدرت مدیریت بسته Nix را می گیرد و آن را در کل سیستم اعمال می کند. این بدان معنی است که، در میان چیزهای دیگر، به راحتی می توان کل پیکربندی سیستم را به حالت قبلی بازگرداند. علاوه بر سیستم مدیریت شده توسط NixOS، Home Manager یک محیط کاربری را نیز مدیریت می کند. Nix یک مدیر بسته و سیستم ساخت است که دستورالعمل‌های ساخت قابل تکرار را مشخص شده در زبان Nix Expression، یک زبان تابع خالص با ارزیابی تنبل، تجزیه می‌کند.

یک جمع بندی سریع، در نصب ما NixOS هدف قرار گرفته است /dev/nvme0n1 دیسک. پس از اتمام، دستگاه مورد نظر را مجددا راه اندازی کنید و از درایو USB بوت کنید. صفحه نمایش یک رابط گرافیکی را نشان می دهد که NixOS را می توان از آنجا پیکربندی و نصب کرد. صفحه اول چندین گزینه نصب را ارائه می دهد، اولین پیشنهاد را انتخاب کنید. بیشتر سرورهای مجازی، یک پایگاه داده از پکیج‌های موجود در repositoryهای راه‌دور، در local نگهداری می‌کنند. بهتر است قبل از نصب یا ارتقا پکیج‌ها، این پایگاه داده به‌روزرسانی شود.

در مرحله بعد، من مشکلات مختلفی را که در نصب NixOS بر روی Framework Laptop DIY Edition با آن مواجه شدم، مرور می‌کنم تا بتوانید در کوتاه‌مدت راه‌اندازی کنید. در مقایسه با گزارش‌های NixOS از تنها دو یا سه سال پیش، نصب و راه‌اندازی آن بسیار ساده است. این نشان می‌دهد که ابزارها به خوبی در حال بلوغ هستند و به سطح خاصی از پولیش رسیده‌اند، اما از دیدگاه یک کاربر تازه کار، ما هیچ پایه مقایسه قبلی نداریم. این یک توزیع سنتی و حتی یک یونیکس سنتی نیست، اما کار می‌کند و ما می‌توانیم جذابیت آن را ببینیم. در زیر به نصب Home Manager به عنوان یک ماژول در پیکربندی سیستم NixOS نگاه می کنیم. این مقاله به دنبال معرفی Nix و استقرار NixOS در دستگاه شما است.

برای بهره مندی کامل از مزایای NixOS و Flakes، لازم است اصول این زبان را درک کنید. من به تازه واردان بدون تجربه استفاده از لینوکس توصیه نمی کنم که مستقیماً به NixOS شیرجه بزنند، زیرا ممکن است به یک سفر خسته کننده منجر شود.

توضیح می دهد که NixOS چگونه کار می کند، چگونه آن را دریافت و نصب کنید، و چگونه Nix قابلیت اطمینان را تضمین می کند. دستگاه شما با سیستم در حال اجرا NixOS بوت می شود و در مورد نحوه تعامل NixOS، مدیر بسته Nix و Home Manager با یکدیگر اطلاعات کسب خواهید کرد. بیشتر توزیع‌های لینوکس، یک رابط گرافیکی یا یک رابط مبتنی بر منو برای دیدن مجموعه‌های پکیج‌ها ارائه می‌دهند. این رابط‌ها، راه خوبی برای دیدن دسته‌بندی‌های مختلف و کشف نرم‌افزارهای جدید هستند. اما، اغلب سریع‌ترین و مؤثرترین روش برای یافتن یک پکیج، جستجو با ابزارهای خط فرمان است.

در Debian و سیستم‌های مبتنی بر آن، مانند Ubuntu و Linux Mint و Raspbian، فرمت یک فایل پکیج، .deb است. Apt، که یک ابزار پکیجینگ پیشرفته است، دستورات مورد استفاده برای عملیات‌های معمول مانند جستجوی repositoryها، نصب مجموعه‌ای از پکیج‌ها و وابستگی‌های آن‌ها، و مدیریت ارتقاها را فراهم می‌کند. دستورات apt به عنوان یک front-end برای ابزار سطح پایین‌تر dpkg عمل می‌کند (که نصب فایل‌های .deb اختصاصی را بر روی سیستم local انجام می‌دهد و گاهی مستقیماً فراخوانی می‌شود). یک سیستم مدیریت پکیج، کار بیشتری از نصب یک‌باره نرم‌افزار انجام می‌دهد. این سیستم ابزارهایی برای ارتقا نسخه پکیج‌های نصب‌شده قبلی، فراهم می‌کند. Repositoryهای بسته‌ها کمک می‌کنند تا اطمینان حاصل شود که کد برای استفاده در سیستم شما، تایید شده است و نسخه‌های نصب‌شده نرم‌افزار، توسط توسعه‌دهندگان (developers) و package maintainers نیز، تایید شده‌اند.

هنگام پیکربندی سرورها یا محیط‌های توسعه، اغلب لازم است که به repositoryهای رسمی، فراتر از آن چیزی که هست؛ نگاه کنید. پکیج‌ها در نسخه پایدار (stable release) یک توزیع، ممکن است قدیمی باشند. با این حال، دانستن اصول مدیریت پکیج (package management)، یک مهارت حیاتی برای مدیران سیستم (system administrators) و توسعه‌دهندگان است. به این ترتیب، من Framework Laptop DIY Edition را با هدف نصب کامل و پیکربندی آن با NixOS دریافت کردم. من اولین برداشت های خود را پس از دریافت و باز کردن جعبه به اشتراک می گذارم و بازخورد شخصی خود را در مورد سخت افزار به اشتراک می گذارم.

در FreeBSD، ارتقا portهای نصب‌شده می‌تواند تغییرات مخربی را ایجاد کند یا نیاز به پیکربندی دستی داشته باشد؛ بهتر است قبل از ارتقا با portmaster، فایل /usr/ports/UPDATING را مطالعه کنید. برای یک راهنمای گسترده در مورد روش‌های مختلف برای نصب Nix – از جمله نحوه نصب Nix بدون امتیازات روت – به راهنمای نصب Nix مراجعه کنید. دستگاه مورد استفاده در هنگام نصب یک لپ تاپ Dell Precision 5520 با 1 ترابایت SSD و 32 گیگابایت رم است. دستورالعمل ها برای هر ماشینی، خواه کامپیوتر توسعه دهنده، لپ تاپ یا ماشین مجازی باشد، اعمال می شود. در Rocky Linux و Fedora یا RHEL از dnf برای نصب فایل‌های مربوط به پکیج‌ها استفاده می‌شود و dnf وابستگی‌های مورد نیاز را نیز، مدیریت خواهد کرد. به جز کارت های توسعه، نصب نیازمند باز کردن قاب با پیچ گوشتی همراه لپ تاپ یا هر پیچ گوشتی کوچک فیلیپسی است که در اختیار دارید.

بسته‌های نصب شده با یک هش رمزنگاری از تمام ورودی‌های استفاده شده برای ساخت آن‌ها شناسایی می‌شوند. تغییر دستورالعمل‌های ساخت یک بسته هش آن را تغییر می‌دهد و این منجر به نصب یک بسته متفاوت در فروشگاه بسته می‌شود. این سیستم همچنین برای مدیریت فایل‌های پیکربندی استفاده می‌شود و اطمینان حاصل می‌کند که پیکربندی‌های جدید بر روی پیکربندی‌های قدیمی بازنویسی نمی‌شوند. گاهی اوقات، حتی اگر نرم‌افزار به طور رسمی برای یک سیستم‌عامل خاص طراحی نشده باشد، یک توسعه‌دهنده ممکن است فایل‌های مربوط به پکیج را برای دانلود ارائه دهد. معمولاً می‌توانید این‌ فایل‌ها را با مرورگر وب خود یا از طریق curl در خط فرمان دانلود کنید. پس از اینکه پکیج در سرورتان قرار گرفت، معمولاً می‌توان آن را با یک دستور نصب کرد.

نقطه ضعف این توزیع، منحنی یادگیری تند برای مدیریت بسته، از جمله به‌روزرسانی‌ها و موارد مشابه است. صرف نظر از اینکه از کدام توزیع آمده‌اید، برای اینکه Nix را برای خود روی خط فرمان کار کنید، چیزهای زیادی برای یادگیری خواهید داشت. از آنجایی که فایل‌های Nix خالص و توصیفی هستند، ارزیابی آن‌ها همیشه نتیجه یکسانی را تولید می‌کند، صرف نظر از اینکه چه بسته‌ها یا فایل‌های پیکربندی روی سیستم وجود دارند. بیشتر سیستم‌های پکیجینگ، حول مجموعه‌ای از فایل‌های پکیج ساخته شده‌اند. یک فایل پکیج معمولاً یک آرشیو است که شامل برنامه‌های کامپایل‌شده و دیگر منابع مورد استفاده توسط نرم‌افزار، همراه با اسکریپت‌های نصب است. پکیج‌ها همچنین شامل متادیتاهای (metadata) ارزشمندی از جمله وابستگی‌های (dependencies) آن‌ها (لیستی از پکیج‌های دیگر که برای نصب و اجرای آن‌ها نیاز است)، هستند.

به عنوان یک استثنا جزئی، dnf قبل از انجام برخی عملیات‌ها، برای به‌روزرسانی‌ها چک می‌شود، اما شما می‌توانید هر زمان که خواستید از آن بپرسید که آیا به‌روزرسانی‌ها در دسترس هستند یا خیر. Rocky Linux و Fedora و دیگر اعضای خانواده Red Hat از فایل‌های RPM استفاده می‌کنند. این سیستم‌ها قبلاً از یک پکیج منیجر به نام yum استفاده می‌کردند. در نسخه‌های جدیدتر Fedora و سیستم‌های مبتنی بر آن، dnf جایگزین yum شده است. Dnf یک نسخه مدرن است که بیشتر ویژگی‌های yum را حفظ کرده است.

این انعطاف‌پذیری تنها در مورد سفارشی‌سازی نیست، بلکه عمر دستگاه شما را نیز افزایش می‌دهد زیرا می‌توان آن را بر اساس نیازها، نیازها و انتظارات در طول زمان ارتقا داد. زبان ساخت Nix که توسط NixOS استفاده می‌شود، نحوه ساخت بسته‌ها از سورس را مشخص می‌کند. با این حال، ساخت از سورس یک فرآیند کند است، بنابراین مدیر بسته به طور خودکار باینری‌های از پیش ساخته شده را از یک سرور کش دانلود می‌کند، در صورتی که در دسترس باشند. می‌توان کش باینری را غیرفعال کرد و ساخت از سورس را با استفاده از آرگومان –option substitute false اجبار کرد. این انعطاف‌پذیری یک مدل مدیریت بسته مبتنی بر سورس را با کارایی یک مدل باینری ارائه می‌دهد.

NixOS یک توزیع لینوکس است که قابلیت اطمینان سیستم عامل را تضمین می کند و امکان تکرار آسان حالت های فعلی و قبلی سیستم را فراهم می کند. در سیستم‌های مبتنی بر Debian، سیستم dpkg، فایل‌های مربوط به پکیج‌ها را مدیریت می‌کند. اگر یک پکیج وابستگی‌های برآورده نشده داشته باشد، gdebi معمولاً می‌تواند آن‌ها را از repositoryهای رسمی، دریافت کند. Nix یک مدیر بسته اعلامی است که به کاربران امکان می دهد وضعیت سیستم مورد نظر را در فایل های پیکربندی (پیکربندی اعلامی) اعلام کنند و مسئولیت دستیابی به آن وضعیت را بر عهده می گیرد. در زیر یک فایل پیکربندی حداقل NixOS وجود دارد که دسکتاپ Gnome و روش بوت UEFI را هدف قرار می دهد. اگر می‌خواهید با یک سیستم کامل‌تر شروع کنید، می‌توانید پیکربندی را با ویژگی‌های خود غنی‌سازی کنید یا از فایل پیکربندی جامع‌تر پیشنهاد شده در انتهای این مقاله استفاده کنید.

اگر پس از به‌روزرسانی سیستم، پیکربندی جدید مطلوب نباشد، می‌توان آن را با استفاده از یک دستور خاص (nixos-rebuild switch –rollback) به حالت قبل بازگرداند. هر نسخه پیکربندی سیستم به طور خودکار در منوی بوت سیستم ظاهر می‌شود. اگر پیکربندی جدید خراب شود یا به درستی بوت نشود، می‌توان یک نسخه قدیمی‌تر را انتخاب کرد. بازگرداندن عملیات سبک وزنی است که شامل بازگرداندن فایل‌ها از نسخه‌های پشتیبان نمی‌شود. هنگام استفاده از یک سیستم عامل، ارتقاء بسته ها یا نصب بسته های جدید کارهای رایجی هستند که خطر تأثیرگذاری بر پایداری سیستم را به همراه دارند.

NixOS از طراحی ایمن‌ناپذیر (immutable) و مدل به‌روزرسانی اتمی استفاده می‌کند. استفاده از سیستم پیکربندی توصیفی (declarative) امکان تکرارپذیری و قابلیت انتقال را فراهم می‌کند. NixOS با استفاده از ماژول‌های ترکیبی پیکربندی می‌شود و به بسته‌هایی که در پروژه Nixpkgs تعریف شده‌اند، وابسته است. دستورالعمل‌ها و پیکربندی‌های بسته‌ها با زبان اختصاصی “Nix” نوشته می‌شوند که همراه با مدیر بسته‌ی Nix عرضه می‌شود. پس از تغییر فایل مشخصات، سیستم می‌تواند با استفاده از دستور nixشظos-rebuild به‌روزرسانی شود.

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

NixOS، توزیع لینوکس که در بالای آن ساخته شده است، امکان بازگرداندن سیستم را به هر حالت قبلی فراهم می‌کند (اگرچه فقط وضعیت اعلام شده در فایل‌های پیکربندی Nix قابل برگشت است). در حالی که به نظر چشمگیر به نظر می رسید، یادگیری یک زبان جدید و نوشتن کد برای نصب بسته ها برایم مشکل بود، بنابراین در آن زمان آن را دنبال نکردم. تنها فایل پیکربندی مرتبط با Nix، nix.conf است (معمولاً در /etc/nix/ یافت می‌شود) که تعدادی تنظیمات مربوط به نحوه ساخت، جمع‌آوری زباله، شنک‌سازی و مجوزهای کاربر Nix را تعریف می‌کند. از آنجایی که بیشتر سناریوها شامل استفاده از Nixpkgs هستند، پیکربندی ~/.config/nixpkgs/config.nix اغلب مفید است؛ در اینجا می‌توان جایگزینی‌های بسته را مشخص کرد. Home Manager روش ترجیحی برای مدیریت محیط‌های توصیفی برای یک کاربر واحد است. برای پیکربندی سیستم روی macOS، nix-darwin راه حل ترجیحی است.

اکثر سیستم‌عامل‌های مدرن مشابه یونیکس، مکانیزم متمرکزی برای پیدا کردن و نصب نرم‌افزار ارائه می‌دهند. یک نرم‌افزار، معمولاً به صورت مجموعه‌ای از پکیج‌ها توزیع می‌شود که این پکیج‌ها در repositoryها قرار دارند. کار با پکیج‌ها را اصطلاحاً package management عنوان می‌کنند. پکیج‌ها همراه با کتابخانه‌های مشترک (shared libraries)، برنامه‌ها (applications)، خدمات (services)، و مستندات (documentation)، اجزای اصلی یک سیستم‌عامل را تشکیل می‌دهند. به طور کلی NixOS Gnome 21.11 به عنوان یک سیستم جدی، منظم و زیبا تاثیرگذار است. اگر شما طرفدار دسکتاپ Gnome بدون تغییر هستید، در اینجا چیزهای زیادی برای دوست داشتن پیدا خواهید کرد.

دنیای مربوط به سرورهای مجازی، خیلی گسترده و بزرگ است و دریای یادگیری آن، ساحل ندارد. نصب NixOS بر روی لپ تاپ Framework به آسانی سایر سخت افزارها نیست. در مورد من، درایور آداپتور WI-FI وجود نداشت، که مانع از شروع نصب از طریق Wi-Fi شد. نصب‌گر گرافیکی برای کاربران دسکتاپ توصیه می‌شود و شما را در طول نصب راهنمایی می‌کند. هنگام نصب یک پکیج، معمولاً مفید است که توضیحات دقیق آن‌ها را بخوانید. این توضیحات معمولاً در کنار توضیحات قابل درک برای انسان، شامل متادیتا خاصی مانند شماره نسخه و لیست وابستگی‌های پکیج نیز هستند.

نیازی به امتیازات ویژه برای نصب نرم افزار در NixOS وجود ندارد. علاوه بر پروفایل سیستم‌wide، هر کاربر یک پروفایل اختصاصی دارد که می‌تواند بسته‌ها را در آن نصب کند. Nix همچنین اجازه می‌دهد نسخه‌های مختلف یک بسته همزمان وجود داشته باشند، بنابراین کاربران مختلف می‌توانند نسخه‌های مختلفی از یک بسته را در پروفایل‌های مربوطه خود نصب کنند. اگر دو کاربر نسخه یکسانی از یک بسته را نصب کنند، فقط یک نسخه ساخته یا دانلود می‌شود. بدون این پارامترها، مسیرها فقط می‌توانند از یک جایگزین مورد اعتماد توسط سیستم یا یک ساخت شنک شده محلی که به طور ضمنی مورد اعتماد است، جایگزین شوند.

قابلیت بازگشت و تکرارپذیری NixOS اعتماد به نفس زیادی را در من القا کرده است – دیگر از شکستن سیستم نمی ترسم. من حتی به آزمایش چیزهای جدید در NixOS، مانند hyprland compositor، جرأت کرده ام. پیش از این، در EndeavourOS، جرأت نمی‌کردم با چنین ترکیب‌کننده‌های جدیدی دست و پنجه نرم کنم، زیرا هر گونه اشتباه در سیستم مستلزم عیب‌یابی دستی قابل توجهی با استفاده از راه‌حل‌های مختلف بود. در man، می‌توانید با کلیدهای جهت‌نما (arrow keys) حرکت کنید، با زدن / در متن جستجو کنید، و با زدن q خارج شوید. این دستور بسته GNU Hello و وابستگی های آن را می سازد یا دانلود می کند، سپس شما را وارد یک پوسته می کند که در آن دستور hello وجود دارد، بدون اینکه بر محیط عادی شما تأثیری بگذارد. این دستور باید بسته های از پیش ساخته شده را دانلود کند؛ نباید آنها را به صورت محلی بسازد (اگر اینطور شد، مشکلی پیش آمده است).

Nix یک ابزار خط فرمان مدیریت بسته امری به نام nix-env ارائه می‌دهد که می‌تواند برای نصب بسته‌ها در سطح کاربر استفاده شود. بسته‌های نصب شده با استفاده از nix-env فقط برای کاربر مشخص در دسترس هستند و حالت سیستم را تغییر نمی‌دهند. من خیلی دوست دارم که NixOS چگونه نگرانی در مورد ارتقای بسته‌ها را با قرار دادن هر تغییر در “نسل” خود از بین می‌برد و من از دیدگاه کاربر نهایی، NixOS را همانند هر توزیع لینوکس دیگری کار می‌کردم. راه‌اندازی NixOS برای مبتدیان نیست و فکر نمی‌کنم NixOS برای استفاده به عنوان یک سیستم عامل دسکتاپ عمومی در نظر گرفته شده باشد. اما کاری که NixOS انجام می‌دهد این است که به ما یک زمین بازی مفید برای بررسی مدیر بسته Nix می‌دهد و من فکر می‌کنم این فناوری بسیار جالب است که سزاوار بررسی بیشتر و پذیرش توسط توزیع‌های اضافی است.

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

یک سیستم عامل از بسته های نرم افزاری مختلف، فایل های پیکربندی و داده های متنی/دودویی تشکیل شده است که همگی نشان دهنده وضعیت فعلی سیستم هستند. پیکربندی اعلانی می تواند تنها بخش استاتیک این حالت را مدیریت کند. بنابراین، NixOS در درجه اول بر مدیریت بخش ایستا از وضعیت سیستم به شیوه ای اعلامی تمرکز می کند. داده‌های پویا، همراه با محتویات فهرست اصلی کاربر، هنگام بازگشت به نسل قبلی، تحت تأثیر NixOS قرار نمی‌گیرند. NixOS یک توزیع لینوکس آزاد و متن‌باز است که بر پایه مدیر بسته‌ی Nix ساخته شده است.

ابزارهای جدید نصب می شوند، سرویس ها شروع می شوند و پیکربندی به روز می شود. این بخشی از چرخه حیات سیستم است، صرف نظر از اینکه سیستم یک ماشین توسعه یا یک سرور تولید را هدف قرار می دهد. در صورتی که نیازمند یک سرور مجازی دائمی و پرقدرت هستید؛ می‌توانید از سرور مجازی ایران لیارا، استفاده کنید. (دسامبر ۲۰۲۳) در سال ۲۰۰۳، Eelco Dolstra پروژه Nix را به‌عنوان یک پروژه تحقیقاتی آغاز کرد. Dolstra می‌گوید هدف از این پروژه دستیابی به سیستمی برای استقرار صحیح نرم‌افزار بوده است.

سیستم پکیجینگ توزیع‌های FreeBSD، با دستور pkg مدیریت می‌شوند. معمولاً استفاده از pkg بسیار راحت‌تر است، اما گاهی ممکن است پکیجی، از قبل کامپایل نشده باشد، یا ممکن است نیاز به تغییر گزینه‌های زمان کامپایل داشته باشد. Nix-env ابزاری قدرتمند در محیط NixOS است که برای مدیریت بسته‌ها و محیط‌های کاربری به کار می‌رود. با استفاده از این دستور می‌توانید بسته‌های نرم‌افزاری را نصب، حذف، بروزرسانی کرده و محیط‌های کاری مختلفی را ایجاد کنید. نتیجه این امر این است که NixOS از استاندارد سلسله مراتب فایل سیستم پیروی نمی‌کند. استفاده نکردن از دایرکتوری‌های جهانی مانند /bin بخشی از چیزی است که به نسخه‌های مختلف یک بسته اجازه همزیستی می‌دهد.

NixOS بر اساس مدیر بسته Nix ساخته شده است که تمام بسته‌ها را به صورت جداگانه از یکدیگر در فروشگاه بسته ذخیره می‌کند. اما بسته به نوع دیسک (SATA، SSD، NVMe، …) می توان مقادیر جایگزینی مانند /dev/sda. برای بخش بعدی این مقاله، دستورات بر اساس نام دستگاه هستند /dev/nvme0n1. این مقاله، یک نمای کلی از عملیات‌هایی بود که می‌توان در سرورهای مجازی لینوکس انجام داد. اما این راهنما، تنها بخشی سطحی از این موضوع پیچیده را پوشش می‌دهد.

برای نصب NixOS، لطفاً مقاله ای را که توسط همکارم فلورنت موافو در مورد نصب NixOS نوشته شده است، ببینید. اگرچه از لپ تاپ دل استفاده می کنید، اما این یک راهنمای کامل برای فرآیند نصب است. اسکریپت نصب از sudo استفاده می کند، بنابراین مطمئن شوید که حقوق کافی دارید. در لینوکس، می توان برای نصب تک کاربره گزینه –daemon را حذف کرد. برای روش های دیگر نصب، [اینجا](لینک به راهنمای نصب کامل) را ببینید.

عبارات Nix توابع خالصی هستند که وابستگی‌ها را به عنوان آرگومان می‌گیرند و یک مشتق مشخص کننده یک محیط ساخت قابل تکرار برای بسته تولید می‌کنند. لپ تاپ Framework در بازار نسبتاً جدید است زیرا در سال 2019 معرفی شد. آنچه لپ تاپ های Framework را منحصر به فرد می کند این واقعیت است که قطعات آن به راحتی توسط کاربر نهایی قابل ارتقا، تعمیر و سفارشی سازی است. هنگام سفارش، نسخه DIY گزینه‌های مختلفی را برای پیکربندی دستگاه شما ارائه می‌کند و بین انواع سیستم‌عامل، پردازنده، حافظه و درایو انتخاب می‌شود. پیکربندی را می توان با کارت های توسعه قابل جابجایی بیشتر گسترش داد و گزینه های زیادی از اتصال و همچنین فضای ذخیره سازی اضافی را فراهم کرد.

را .iso تصویر دیسک برای ایجاد یک درایو USB قابل بوت استفاده می شود. برای یک رویکرد راحت تر با استفاده از balenaEtcher، مستندات اوبونتو را دنبال کنید. شبکه باید قبل از نصب پیکربندی شود تا وابستگی های درخواستی بارگیری شود. در اینجا اطلاعیه‌ها، نسخه‌ها و تغییرات جدید لیارا فهرست می‌شوند. زبان Nix برای اعلام تنظیماتی که باید توسط Nix ساخته شوند ضروری است.


برنامه نویسی تراش cnc