نشست ۴۵

عنوان ارائه: NixOS

در نشست ۴۵ام لاگ شیراز، ابتدا جناب آقای رحیم فیروزی به موضوع FHS و MBR و همچنین نصب سیستم عامل گنو/لینوکس در کنار ویندوز بیان نمودند.

در ادامه جناب آقای امین خزاعی به معرفی سیستم عامل NixOS و به خصوص به بررسی مدیریت بسته nix پرداختند. NixOS یک سیستم عامل مستقل بوده و بر پایه توزیع دیگری نیست. یکی از مزایای این سیستم عامل این است که اگر در حین نصب نرم‌افزارها و یا به‌روز رسانی آن‌ها با مشکلی از قبیل قطع برق مواجه شدید، اتفاقی رخ نمی دهد و سیستم به آخرین تنظیمات سالم قبلی خود باز می‌گردد. همچنین اگر بر روی یک سیستم تنظیماتی را انجام دادید، می‌توانید فایل این تنظیمات را بر روی یک سیستم دیگر انتقال دهید و پس از اجرای دستور nixos-rebuild switch سیستم جدید دقیقاً مانند سیستم قبل می‌شود. تظیمات سیستمی، نرم‌افزاری و فایل‌های تنظیمات لینوکس همه و همه در NixOS توسط زبان nix build language نوشته می‌شوند که یک زبان functional است. با استفاده از این زبان می توان طوری عمل کرد که فایل باینری نصب شود یا اینکه کد نرم‌افزار را گرفته و کامپایل کند. NixOS با هر بار به‌روز رسانی و تغییر در تنظیمات تنظیمات قبلی را نگه می‌دارد و در صورت بروز مشکل در تنظیمات جدید خیلی راحت می‌توان به تنظیمات قبل برگشت. همچنین یکی از قابلیت‌های مهم آن تستی که در این سیستم عامل وجود دارد این است که پس از تغییر تنظیمات می‌توان قبل از مهاجرت به تنظیمات جدید، آن را تست کرد (nixos-rebuild test) و حتی محیط تستی دیگر در اختیار می‌دهد که از تنظیمات جدید یک ماشین مجازی می‌سازد که با اجرای آن می‌توان تنظمیات جدید را تست کرد.

مدیر بستهٔ nix، در NixOS، برای نصب نرم‌افزار نیاز به دسترسی superuser ندارد. اما در بقیه ی مدیریت بسته ها برای نصب نرم افزارها نیاز به superuser می باشد. در nix از قابلیت hashing scheme برای مدیریت بسته ها استفاده می شود. در نتیجه چون هر نرم‌افزار و حتی ورژن‌های مختلف نرم‌افزار دارای hashing منحصر به فردی می‌باشند که با استفاده از این hashing این نرم‌افزارها و حتی ورژن‌های مختلف آن در دایرکتوری‌های متفاوتی قرار می‌گیرند و به این ترتیب می‌توان ورژن‌های مختلف نرم‌افزار را همزمان نصب کرد. برای هر کاربر سیستم یک profile ایجاد می شود که با توجه به درخواست کاربر به سراغ نسخه های متفاوت بسته ها می رود. همچنین وقتی نرم‌افزاری را حذف می‌کنید از کل سیستم حذف نمی‌شود مگر اینکه garbage collector آن فراخوانی شود. یک نکته جالب توجه اینکه در NixOS برخلاف سایر توزیع های گنو‌‌/لینوکس دایرکتوری‌های lib/ و sbin/ را ندارد و در دایرکتوری bin/ آن تنها sh و rm وجود دارد.

در پایان نیز جناب آقای خزاعی به صورت عملی NixOs را بر روی سیستم بررسی کردند تا اعضای لاگ بیشتر با این سیستم عامل آشنا شوند.

20160102_171938 20160102_175520

20160102_180400 20160102_181545

ارسال کننده: Mahshid, mehdiMj