Walaupun anda dapat menjalankan aplikasi di bawah NixOS kerana mengikut standard di atas, failnya tidak berada di tempat lain di sistem lain. Pembangun NixOS dan GNU Guix mempunyai pendapat yang kuat mengenai sistem ini, dan mereka telah mengemukakan kaedah bijak untuk mematuhinya.
Sistem yang berbeza
Sistem penyimpanan perisian anda mempengaruhi fungsi dengan cara yang jauh lebih mendalam daripada yang kelihatannya pada pandangan pertama. Untuk perisian mencari fail yang diperlukannya, NixOS menggunakan symlink. Setiap aplikasi mempunyai direktori tersendiri yang mengandungi yang dapat dieksekusi dan pautan ke perpustakaan yang menjalankannya.
Dengan sistem organisasi ini, anda boleh memasang fail dan versi yang berbeza pada masa yang sama. Secara lalai, semua pakej dan pergantungannya harus disusun semasa pemasangan. Namun, memerlukan banyak masa dan kekuatan pemprosesan untuk melakukannya di setiap pemasangan, terdapat cache.
Memuat turun
Dengan NixOS, selalu ada lebih daripada satu cara untuk melakukan sesuatu. Seperti pengedaran lain, dengan NixOS, anda mempunyai ISO pada USB stick. Anda mempunyai pilihan mengenai bagaimana anda mahu memasang NixOS pada pengedaran anda. Walau bagaimanapun, sebelum kita membincangkan topik ini dengan lebih terperinci, penting untuk memahami bahawa terdapat dua bahagian proses ini yang sedikit membingungkan.
Pertama, Nix berbeza dengan NixOS, dan anda mesti memahami perbezaan antara Nix, pengurus pakej dan NixOS, yang mengkonfigurasi sistem anda. Anda boleh memuat turun pengurus pakej Nix dan menggunakannya pada sistem semasa anda. Dengan itu, anda dapat menyimpan banyak versi aplikasi di sistem anda tanpa mengganggu antara satu sama lain.
Kedua, dengan NixOS, sementara anda tidak dapat menyatakan skema partisi, semua yang lain boleh ditinggalkan dalam satu fail. Sebilangan besar pengguna meninggalkan fail konfigurasi perkakasan yang dibuat secara automatik. Semasa mula-mula, anda dapat menyimpan pakej anda yang dinyatakan dalam fail, tetapi lama-kelamaan, anda mungkin akan membuat fail berasingan yang anda import ke dalam fail konfigurasi anda.
Pembahagian
Sebelum memasang, anda mesti membahagikan pemacu anda. Dalam pengedaran lain, terdapat lalai yang boleh anda terima; namun, dengan NixOS, anda mesti membuat partition anda sendiri. Partition tidak terlalu rumit, tetapi anda akan menghadapi masalah apabila anda harus mengatur konfigurasi untuk skema partition yang anda pilih. Penting untuk memahami bahawa arahan dan skrip lebih disukai jika sistem fail anda dilabel dengan betul.
Manual standard menunjukkan arahan pembahagian. Perhatikan bahawa perintah berbeza untuk cakera UEFI dan MBR, dan menetapkan nilai yang salah akan menyebabkan banyak masalah. Manual mencadangkan menggunakan nilai yang disediakan di bawah untuk pemasangan awal, tetapi sangat mudah untuk menguji nilai baru.
Partition standard:
MBR:
berpisah / dev / sda - mkpart 1MiB -8GiB utama
berpisah / dev / sda - mkpart primer linux-swap -8GiB 100%
UEFI:
berpisah / dev / sda - mklabel gptberpisah / dev / sda - mkpart primer 512MiB -8GiB
berpisah / dev / sda - mkpart primer linux-swap -8GiB 100%
berpisah / dev / sda - mkpart ESP fat32 1MiB 512MiB
berpisah / dev / sda - tetapkan 3 esp pada
Memasang partition dalam MBR:
mkswap -L pertukaran / dev / sda2mount / dev / disk / by-label / nixos
Memasang partisi di UEFI:
mount / dev / disk / by-label / nixos / mntmkdir -p / mnt / but
mount / dev / disk / by-label / boot / mnt / boot
Bahagian seterusnya akan menunjukkan cara membuat fail konfigurasi anda.
Fail Konfigurasi
Setelah menyiapkan cakera anda, anda boleh memulakan proses konfigurasi. Dengan NixOS, anda membuat konfigurasi terlebih dahulu dan kemudian pasang. Arahan berikut menganggap bahawa anda telah boot menggunakan ISO, tetapi anda boleh boot dengan chroot.
Dengan nixos-create-config, sistem menghasilkan fail konfigurasi standard.
$ nixos-menghasilkan-config -root / mntPerintah ini membuat dua fail: / mnt / etc / nixos / konfigurasi perkakasan.nix (anda tidak menukar fail ini) dan / mnt / etc / nixos / konfigurasi.nix. Anda boleh mengedit fail kedua di editor kegemaran anda.
Biasanya, pilihan tidak berubah bergantung pada kaedah yang digunakan untuk boot. Anda boleh menggunakan grub atau konfigurasi but yang lain. Terdapat banyak pilihan, tetapi berikut adalah beberapa standard.
Tambahkan baris ini untuk MBR sahaja:
but.pemuat.grub.peranti = "dev / sda";Tambahkan baris ini untuk UEFI sahaja:
but.pemuat.sistemd-but.aktifkan = benar;but.pemuat.efi.canTouchEfiVariables = benar;
Tukar fail konfigurasi sesedikit mungkin untuk memulakan. Nilai-nilai ini ada dalam fail asal: hapus komen dan buat perubahan yang sesuai dengan keperluan anda.
rangkaian.hostName = "nixos";pengguna.pengguna.nixos =
isNormalUser = benar;
extraGroups = "roda"
persekitaran.systemPackages = dengan pkgs [
wget vim
];
perkhidmatan.terbuka.aktifkan = benar;
Tambahkan pakej yang ingin anda gunakan sebagai pakej standard. Semua pakej standard masuk dalam kurungan segi empat sama dengan wget dan vim. Anda boleh memasang lebih banyak pakej setelah sistem berjalan.
Bangunan
Setelah fail konfigurasi anda betul, anda boleh menjalankan pemasangan.
$ nixos-pasangSeterusnya, pemasang akan meminta kata laluan root yang akan digunakan pada sistem sebenar. Semua program akan disusun atau dimuat turun dari cache.nixpkgs.org dan kemudian dipasang di kedai nix di komputer anda. Kemudian, anda boleh reboot, dan anda harus mendapatkan prompt log masuk.
$ but semulaSekarang, berikan kata laluan untuk pengguna anda menggunakan root. Pengguna yang anda tetapkan dalam file konfigurasi juga akan mempunyai direktori home.
Konfigurasi Baru
Setelah anda menyelesaikan langkah-langkah di atas, anda boleh bermain-main dengan fail konfigurasi. Apabila anda menukar sesuatu, cubalah tanpa memasangnya seperti berikut:
Ujian membina semula $ nixosSetelah anda mempunyai nilai baru yang berfungsi dengan baik, jalankan arahan membina semula:
Suis $ nixos-membina semulaSekarang, anda akan melihat apakah anda telah menetapkan nilai but dengan betul. Penting untuk diperhatikan bahawa perubahan pada konfigurasi dapat dibalikkan. Anda boleh reboot dan memilih versi lama, yang dipanggil generasi, dan cuba lagi. Namun, setiap konfigurasi memerlukan ruang cakera, jadi pastikan anda sudah biasa dengan fungsi pengumpulan sampah.
Kesimpulannya
NixOS memerlukan beberapa langkah manual untuk disiapkan, tetapi anda boleh kembali ke sistem yang berjalan lebih cepat daripada dengan sistem lain. Selanjutnya, kawalan versi lebih mudah jika anda memerlukan banyak versi aplikasi yang sama atau jika anda memerlukan banyak versi perpustakaan yang sama. Pada pandangan pertama, nampaknya ada banyak batasan, tetapi batasan ini dapat diatasi dengan bahagian sistem yang lebih maju.