Yukarıdaki standardı takip ettikleri için uygulamaları NixOS altında çalıştırabilirsiniz, ancak dosyalar başka bir sistemde olacakları yerde değildir. NixOS ve GNU Guix geliştiricileri bu sistem hakkında güçlü fikirlere sahipler ve buna uymanın akıllıca yollarını bulmuşlar.
Farklı bir sistem
Yazılım depolama sisteminiz, işlevselliği ilk bakışta göründüğünden çok daha derin bir şekilde etkiler. Yazılımın ihtiyaç duyduğu dosyaları bulması için NixOS sembolik bağlantılar kullanır. Her uygulamanın, yürütülebilir dosyayı ve onu çalıştıran kitaplıklara bağlantıları içeren kendi dizini vardır.
Bu organizasyon sistemi ile aynı anda farklı dosya ve sürümlerin yüklenmesini sağlayabilirsiniz. Varsayılan olarak, tüm paketler ve bağımlılıkları kurulum sırasında derlenmelidir. Ancak, her kurulumda bunu yapmak çok fazla zaman ve işlem gücü gerektirir, önbellekler vardır.
indiriliyor
NixOS ile bir şeyi yapmanın her zaman birden fazla yolu vardır. Diğer dağıtımlar gibi, NixOS ile bir USB çubuğunda bir ISO'nuz var. NixOS'u dağıtımınıza nasıl kurmak istediğinize ilişkin seçenekleriniz var. Ancak, bu konuyu daha ayrıntılı olarak tartışmadan önce, bu sürecin biraz kafa karıştırıcı iki kısmı olduğunu anlamak önemlidir.
İlk olarak, Nix, NixOS'tan farklıdır ve paket yöneticisi Nix ile sisteminizi yapılandıran NixOS arasındaki farkı anlamalısınız. Nix paket yöneticisini indirebilir ve mevcut sisteminizde kullanabilirsiniz. Bununla, birbirini etkilemeden birçok uygulama sürümünü sisteminizde tutabilirsiniz.
İkincisi, NixOS ile, bölümleme şemasını bildiremezken, diğer her şey tek bir dosyada bırakılabilir. Çoğu kullanıcı, otomatik olarak oluşturulan donanım yapılandırma dosyasını kendi haline bırakır. İlk başladığınızda, paketlerinizi dosyada bildirebilirsiniz, ancak zamanla, muhtemelen yapılandırma dosyanıza aktardığınız ayrı dosyalar oluşturacaksınız.
bölümleme
Kurulumdan önce sürücülerinizi bölümlemeniz gerekir. Diğer dağıtımlarda kabul edebileceğiniz varsayılanlar vardır; ancak, NixOS ile kendi bölümlemenizi yapmalısınız. Bölümleme çok karmaşık değildir, ancak seçtiğiniz bölümleme şeması için yapılandırmanızı ayarlamanız gerektiğinde sorun yaşayabilirsiniz. Dosya sistemlerinizin doğru etiketlenip etiketlenmediğini talimatların ve komut dosyalarının tercih ettiğini anlamak önemlidir.
Standart kılavuz, bölümleme komutlarını gösterir. Komutların bir UEFI ve bir MBR diski için farklılık gösterdiğini ve yanlış değerlerin ayarlanmasının birçok soruna neden olacağını unutmayın. Kılavuz, ilk kurulum için aşağıda verilen değerlerin kullanılmasını önerir, ancak yeni değerleri test etmek gerçekten kolaydır.
Standart bölümler:
MBR:
ayrılmış /dev/sda -- mkpart birincil 1MiB -8GiB
ayrılmış /dev/sda -- mkpart birincil linux-swap -8GiB %100
UEFI:
ayrılmış /dev/sda -- mklabel gptayrılmış /dev/sda -- mkpart birincil 512MiB -8GiB
ayrılmış /dev/sda -- mkpart birincil linux-swap -8GiB %100
ayrılmış /dev/sda -- mkpart ESP fat32 1MiB 512MiB
parted /dev/sda -- 3 esp açık
Bölmeleri MBR'ye monte etme:
mkswap -L takas /dev/sda2mount /dev/disk/by-label/nixos
Bölümleri UEFI'ye monte etme:
mount /dev/disk/by-label/nixos /mntmkdir -p /mnt/önyükleme
mount /dev/disk/by-label/boot /mnt/boot
Sonraki bölüm, yapılandırma dosyanızı nasıl oluşturacağınızı gösterecektir.
Yapılandırma Dosyası
Disklerinizi kurduktan sonra yapılandırma sürecini başlatabilirsiniz. NixOS ile önce yapılandırırsınız ve ardından yüklersiniz. Aşağıdaki talimatlar, ISO kullanarak önyükleme yaptığınızı varsayar, ancak chroot ile önyükleme yapabilirsiniz.
nixos-generate-config ile sistem standart bir konfigürasyon dosyası oluşturur.
$ nixos-generate-config -root /mntBu komut iki dosya oluşturur: /mnt/etc/nixos/hardware-configuration.nix (bu dosyayı değiştirmezsiniz) ve /mnt/etc/nixos/configuration.nix. İkinci dosyayı favori düzenleyicinizde düzenleyebilirsiniz.
Genellikle, önyükleme için kullanılan yönteme bağlı olarak seçenekler değişmez. Grub veya başka bir önyükleme yapılandırması kullanabilirsiniz. Birçok seçenek var, ancak işte bazı standartlar.
Bu satırı yalnızca MBR için ekleyin:
çizme.yükleyici.kurtçuk.cihaz = "dev/sda";Bu satırları yalnızca UEFI için ekleyin:
çizme.yükleyici.systemd-boot.etkinleştir = doğru;çizme.yükleyici.efi.canTouchEfiVariables = true;
Başlamak için yapılandırma dosyalarını mümkün olduğunca az değiştirin. Bu değerlerin tümü orijinal dosyadadır: yalnızca yorumlarını kaldırın ve ihtiyaçlarınıza uygun değişiklikler yapın.
ağ oluşturma.hostName = "nixos";kullanıcılar.kullanıcı.nixos =
isNormalUser = true;
extraGroups = "tekerlek"
çevre.systemPackages = pkgs ile [
wget vim
];
Hizmetler.opensh.etkinleştir = doğru;
Standart paket olarak kullanmak istediğiniz paketleri ekleyin. Tüm standart paketler, wget ve vim ile köşeli parantez içine alınır. Sistem çalıştıktan sonra daha fazla paket yükleyebilirsiniz.
Bina
Yapılandırma dosyanız doğru olduğunda, kurulumu çalıştırabilirsiniz.
$ nixos-kurulumArdından, yükleyici gerçek sistemde kullanılacak bir kök parola isteyecektir. Tüm programlar önbellekten derlenecek veya indirilecek.nixpkgs.org ve ardından bilgisayarınızdaki nix mağazasına yüklendi. Ardından, yeniden başlatabilirsiniz ve bir oturum açma istemi almalısınız.
$ yeniden başlatŞimdi, root kullanarak kullanıcınız için bir şifre sağlayın. Yapılandırma dosyasında tanımladığınız kullanıcının bir ev dizini de olacaktır.
Yeni Yapılandırma
Yukarıdaki adımları tamamladıktan sonra, yapılandırma dosyasıyla oynayabilirsiniz. Bir şeyi değiştirdiğinizde, yüklemeden aşağıdaki gibi deneyin:
$ nixos-yeniden inşa testiİyi çalışan yeni değerleriniz olduğunda yeniden oluşturma komutunu çalıştırın:
$ nixos-yeniden oluşturma anahtarıŞimdi, önyükleme değerlerini doğru ayarlayıp ayarlamadığınızı göreceksiniz. Konfigürasyondaki değişikliklerin geri alınabilir olduğuna dikkat etmek önemlidir. Sadece yeniden başlatabilir ve nesil olarak adlandırılan daha eski bir sürümü seçebilir ve tekrar deneyebilirsiniz. Ancak, her yapılandırma disk alanı gerektirir, bu nedenle çöp toplama işlevine aşina olduğunuzdan emin olun.
Sonuç
NixOS'u kurmak için birkaç manuel adım gerekir, ancak çalışan bir sisteme diğer sistemlerden çok daha hızlı dönebilirsiniz. Ayrıca, aynı uygulamanın birçok sürümüne ihtiyacınız varsa veya aynı kitaplıkların birçok sürümüne ihtiyacınız varsa sürüm kontrolü daha kolaydır. İlk bakışta birçok sınırlama var gibi görünebilir ancak sistemin daha gelişmiş bölümleriyle bu sınırlamaların üstesinden gelinebilir.