NixOS Paket Yöneticisi ne yapar??
Çoğu paket yöneticisi, yürütülebilir dosyayı veya kaynak kodunu içeren bir dosya kullanır. Daha sonra sistemde neye ihtiyacı olduğunu hesaplar ve var olduğundan emin olurlar. Nix'te işler çok benzer şekilde çalışır. En büyük fark, Nix'in tüm dosyaları oluşturması ve gerekirse bunları derlemesi ve ardından tek bir yere koyması; nix mağazası. Aklınıza gelen ilk soru şu olabilir: “Dosyalar aynı ada sahip olmayacak mı??” Sistem, her sürüm için bir dizine sahip olarak VE tüm dosyaları bir karma ile adlandırarak bunu önler. Uygulamayı "evde hissettirmek" için, tüm bağımlılıklar sıradan sembolik bağlantılar kullanılarak doğru dizinlerine bağlanır. Bir profil, her kullanıcının hangi sürümü çalıştırdığını takip eder.
NixOS Kullanıcı Yüklemeleri
Bu sistemle, her kullanıcının dizinine farklı sürümler yükleyebilirsiniz. Birkaç kullanıcıda aynıysa, yönetici Nix'in ikili dosyaları yeniden bağlamasına izin verebilir, böylece bir seferde yalnızca bir tane bulunur. Bu, disk alanından tasarruf etmede yararlıdır. Paketin her sürümü için özel ortamlar da oluşturabilirsiniz. Bu, özellikle yeni bir sürümü test etmek veya yazılım geliştirmek istediğinizde kullanışlıdır.
Ortak dağıtım için yükleme
Çoğu yaygın platform için, paket yöneticisi olan Nix'i basit bir komut dosyasıyla yükleyebilirsiniz. Bu komut dosyası Nix web sitesinde mevcuttur. Komut dosyası, kök kullanıcı erişimine ihtiyaç duyacaktır, ancak güvenlik konusunda çok bilinçliyseniz, komut dosyasını kullanmadan önce okumalısınız. Komut dosyasında root kullanmaktan kaçınmak istiyorsanız, sisteminizde /nix dizinini oluşturmanız yeterlidir.
$ ş <(curl -L https://nixos.org/nix/install)Kök erişiminiz yoksa veya çok dikkatliyseniz, Nix'i yalnızca kullanıcı paket yöneticisi olarak kullanabilirsiniz.
$ ş <(curl -L https://nixos.org/nix/install) -no-daemonBu ikili, hepsi olmasa da çoğu dağıtım için iyi çalışır. Platformlar x8664, ben?Mevcut hemen hemen tüm platformları kapsayan 86, aarch64 ve x8664-darwin. Başka platformlar kullanıyorsanız, muhtemelen kaynak kodunu kullanabilir ve kendinizinkini oluşturabilirsiniz. Kurulum tamamlandığında, bir sürü yeni komuta sahip olacaksınız.
İlk programınızı NixOS'a ekleme
Yazılımı yüklemek ve ne zaman kullanılabileceğini ayarlamak için nix-env'e sahipsiniz. Kurulum seçeneği (-i) her zaman kullandığınız ve bir argüman olarak bir paket koyduğunuz için en yaygın olanıdır.
$ nix-env -i firefoxBu, diğer dağıtımlardakiyle aynı görünüyor, sorgu argümanı da öyle. Kurulum biraz zaman alacak ama. Bunun nedeni, Nix Cache'de önceden derlenmiş bir sürüm olmadığı sürece yazılımı derlemesi gerektiğidir. Önbelleğe ulaşmak da her zaman çok hızlı değildir. Dikkat etmeniz gereken bir fark var; bir sürüm seçebilirsiniz! Özel bir sürüm istiyorsanız, normal ifadeler kullanarak hangilerinin mevcut olduğunu bulmalısınız.
$ nix-env -qa 'firefox.*'Mevcut tüm paketlerin bir listesini alacaksınız. Aynı şekilde ancak listedeki değeri kullanarak yükleyebilirsiniz.
$ nix-env - 'firefox-78'i kurun.4.0ser' -korumalı-kuruluZaten yüklü bir sürümünüz varsa bu başarısız olabilir. '-preserve-installed' seçeneği kurulu sürümü silmez. Önceliği ayarlayarak düzeltebileceğiniz aynı önceliğe sahip iki sürüm elde edebilirsiniz.
$ nix-env -set-flag öncelik 2 'firefox-82.0.2'Artık Firefox'u bir sonraki başlatışınızda eski sürümü çalıştıracaksınız. Hangisini çalıştırdığınızı değiştirmek için önceliği buna göre ayarlayabilirsiniz. Ayrıca bir ikili dosya seçmek için bir kabuk başlatabilirsiniz. Bu bir geliştiricinin seçeneğidir ve komut nix-shell'dir.
NixOS'u Güncelleme
Bir yazılım koleksiyonunuz olduğunda, güncel kalmak istersiniz. Her zaman olduğu gibi, aynı komutu bir argümanla kullanıyorsunuz. Ama aynı zamanda kanalı güncel tutmalısın. Komut nix kanalıdır.
$ nix-kanal güncellemesiBu, mevcut tüm paketlerin mevcut sürümlerini okur. Bundan sonra, yazılımınızı nix-env ile yükseltmeye başlayabilirsiniz.
$ nix-env -yükseltmeBunun gibi bir yükseltme, yazılımın eski sürümünü yükseltecektir. Bu durumda, eski Firefox en yeni sürümle değiştirilecektir. Bunu herhangi bir nedenle istemeyebilirsiniz, genellikle geliştirme.
NixOS'tan uygulamaları kaldırma
Uygulamaları kaldırmak, küçük bir uyarı ile aynı derecede basittir. Kaldır komutuyla hiçbir uygulama kaldırılmaz.
$ nix-env - 'firefox-78'i kaldırın.4.0ser'Bu komut, Firefox'un bu sürümünün mevcut yapısına olan bağlantıları kaldıracaktır. Tüm dosyalar her zaman diskte kalacak. Geri almak için bu sürümlere sahipsiniz. Geri alma, eski sürümü kullanmaya geri dönmeniz anlamına gelir. En yenisini denediyseniz ve öngörülemeyen sorunları varsa bu yararlı olabilir.
$ nix-env -geri almaTüm bir nesli geri alırsınız, yani son nesilden bu yana yükseltilen tüm programlar. Seçenek iki komut çalıştırır; o liste ve sonra o eski nesillere geçer. Tüm kurulu paketler, diskte bir nesilde bulunur.
NixOS Geri Alma ve Temizleme
Geri alma işlevi, eski sürümler tarafından kullanılan çok fazla disk alanına yol açacaktır. Bunu temizleyebilirsiniz (bunu temizlemeniz gerekir)!). Yeterince uzun bir döneminiz olduğunda, kendi seçiminize göre, disk alanından tasarruf etmek için bu eski nesilleri de temizleyebilirsiniz.
$ nix-env -delete-nesilleri eskiBu komut ile son iki nesil hariç tüm nesilleri silersiniz. Sizin için en iyi sonucu veren belirli nesli bırakmak için daha karmaşık parametrelerle listede ileri geri gidebilirsiniz. Test için birçok sürüme ihtiyaç duyan çok sayıda test veya geliştirme projeniz yoksa, tüm eski nesillerin planlı bir şekilde kaldırılmasını kullanmalısınız.
Nesillerinizi temiz tutmak için basit bir komut dosyası, bir Nix paket yöneticisi kurulumuyla birlikte gelir.
$ nix-topla-çöpAyrıca toplayıcıyı systemd veya diğer sistemleri kullanarak otomatik olarak çalışacak şekilde ayarlamalısınız.
Sonuç
Nix paket yöneticisi, makinenizde karmaşık geliştirme ortamlarını çalıştırmanızı sağlayan güçlü bir sistemdir. Ayrıca, yazılımınızı düzenli tutmak ve bir disk çökmesi felaketinin meydana gelmesi durumunda yeni bir makinede kurtarmanın basit bir yoluna sahip olmak için de kullanabilirsiniz.