3.2. نصب یک توزیع باینری
بهروزرسانی به macOS 15 Sequoia
اگر اخیراً به macOS 15 Sequoia بهروزرسانی کردهاید و با این خطا مواجه میشوید
error: the user '_nixbld1' in the group 'nixbld' does not existهنگام اجرای دستورهای Nix، برای راهنمایی جهت رفع مشکل نصب خود بدون نیاز به نصب مجدد، به مسئلهی گیتهاب NixOS/nix#10892 مراجعه کنید.
برای نصب جدیدترین نسخه Nix، دستور زیر را اجرا کنید:
$ curl -L https://nixos.org/nix/install | sh این کار، نوع پیشفرض نصب را برای پلتفرم شما انجام میدهد:
اگر نصب چندکاربره از پلتفرم شما پشتیبانی میکند و میتوانید با sudo احراز هویت کنید، آن را توصیه میکنیم.
نصبکننده را میتوان با آرگومانهای مختلف خط فرمان و متغیرهای محیطی پیکربندی کرد. برای نمایش پرچمهای خط فرمان موجود:
$ curl -L https://nixos.org/nix/install | sh -s -- --help برای بررسی عملکرد آن و نحوه سفارشیسازی بیشتر، اسکریپت نصب مرحله دوم را بارگیری و ویرایش کنید.
نصب نسخه سنجاقشدهٔ Nix از یک URL
URLهای نصب مختصِ نسخه برای تمام نسخههای Nix از 1.11.16 به بعد را میتوانید در releases.nixos.org پیدا کنید. پوشه مربوط به هر نسخه شامل هش SHA-256 متناظر با آن است.
تمام اسکریپتهای نصب به یک روش فراخوانی میشوند:
$ export VERSION=2.19.2
$ curl -L https://releases.nixos.org/nix/nix-$VERSION/install | sh نصب چندکاربره
نصب چندکاربرهٔ Nix، کاربران سیستم و یک سرویس سیستم را برای daemon نیکس ایجاد میکند.
سیستمهای پشتیبانیشده:
- لینوکس مجهز به systemd، با SELinux غیرفعال
- macOS
برای دستورالعمل صریح به نصبکننده جهت انجام نصب چندکاربره روی سیستم خود:
$ bash <(curl -L https://nixos.org/nix/install) --daemon شما میتوانید این کار را تحت حساب کاربری عادی خود یا root اجرا کنید.
این اسکریپت در صورت نیاز sudo را فراخوانی خواهد کرد.
نصب تککاربره
برای انتخاب صریح یک نصب تککاربره روی سیستم خود:
$ bash <(curl -L https://nixos.org/nix/install) --no-daemon در یک نصب تککاربره، مالک مسیر /nix کاربری است که آن را فراخوانی میکند.
اگر پوشه /nix از قبل وجود نداشته باشد، اسکریپت برای ایجاد آن sudo را فراخوانی خواهد کرد.
اگر به دستور sudo دسترسی ندارید، /nix را بهصورت دستی با کاربر root ایجاد کنید:
$ su root
# mkdir /nix
# chown alice /nix نصب از طریق فایل فشرده باینری (Tarball)
شما همچنین میتوانید یک فایل فشرده باینری (tarball) که حاوی Nix و تمام وابستگیهای آن است را بارگیری کنید:
مثال
$ pushd $(mktemp -d) $ export VERSION=2.19.2 $ export SYSTEM=x86_64-linux $ curl -LO https://releases.nixos.org/nix/nix-$VERSION/nix-$VERSION-$SYSTEM.tar.xz $ tar xfj nix-$VERSION-$SYSTEM.tar.xz $ cd nix-$VERSION-$SYSTEM $ ./install $ popd
نصبکننده را میتوان با متغیرهای محیطی اعلامشده در فایلی به نام install-multi-user سفارشیسازی کرد.
بستههای بومی برای توزیعهای لینوکس
جامعهی کاربری Nix نصبکنندههایی را برای برخی از توزیعهای لینوکس در قالب بستهبندی بومی آنها حفظ و نگهداری میکند (https://nix-community.github.io/nix-installers/).
نصب macOS
ما معتقدیم که مشکلات مربوط به پشتیبانی تمیز از سیستمفایل ریشه فقطخواندنی در macOS مدرن را برطرف کردهایم. نصبهای جدید این کار را بهطور خودکار انجام خواهند داد.
این بخش پیشتر به تشریح وضعیت، گزینهها و مبادلهها (trade-offs) میپرداخت، اما اکنون فقط خلاصهای از کارهایی را که نصبکننده انجام میدهد بیان میکند. برای اجرای نصبکننده نیازی به دانستن این موارد ندارید، اما اگر با مشکلی مواجه شدید ممکن است کمککننده باشد:
- ایجاد یک ولوم APFS جدید برای انبار Nix خود
- بهروزرسانی
/etc/synthetic.confبرای هدایت macOS جهت ایجاد یک پوشه ریشه خالی «مصنوعی» برای اتصال ولوم شما - مشخص کردن گزینههای اتصال (mount) برای ولوم در
/etc/fstabrw: خواندن-نوشتنnoauto: جلوگیری از اتصال خودکار ولوم توسط سیستم (بهطوریکه LaunchDaemon ذکرشده در ادامه بتواند اتصال آن را کنترل کند، و برای جلوگیری از پنهان شدن مشکلات آن سرویس اتصال).nobrowse: جلوگیری از نمایش ولوم انبار Nix روی دسکتاپ شما؛ همچنین مانع از صرف منابع توسط Spotlight برای نمایهسازی (index) این ولوم میشود
- اگر FileVault را فعال کردهاید
- یک رمز عبور رمزگذاری تولید کنید
- آن را در Keychain سیستم خود قرار دهید
- از آن برای رمزگذاری ولوم استفاده کنید
- ایجاد یک LaunchDaemon سیستمی برای اتصال این ولوم در مراحل اولیه فرآیند راهاندازی (بوت) به منظور جلوگیری از بروز مشکلات در بارگذاری یا بازیابی هر برنامهای که به دسترسی به انبار Nix نیاز دارد
nix.dev/manual/nix/stable/installation/installing-binary.html