GNU Guix paket yöneticisi 1.3 ve bunun üzerine kurulu GNU dağıtımı yayınlandı.LinuxUSB flash sürücüye kurulum için (610 MB) ve sanallaştırma sistemlerinde kullanım için (972 MB) indirilebilir imajlar mevcuttur. Desteklenen mimariler arasında i686, x86_64, Power9, armv7 ve aarch64 yer almaktadır.
Bu dağıtım, hem sanallaştırma sistemlerinde, konteynerlerde ve normal donanımlarda bağımsız bir işletim sistemi olarak kurulumu mümkün kılar, hem de önceden kurulu GNU/Linux dağıtımlarında çalıştırılabilir.LinuxUygulamaların dağıtımı için bir platform görevi gören bu yapı, kullanıcıya bağımlılık yönetimi, tekrarlanabilir derlemeler, root gerektirmeyen çalışma, sorun durumunda önceki sürümlere geri dönme, yapılandırma yönetimi, ortam klonlama (yazılım ortamının diğer bilgisayarlarda birebir kopyasını oluşturma) ve daha birçok özellik sunmaktadır.
Ana yenilikler:
- POWER9 mimarisi (powerpc64le-linux) için ilk destek uygulandı.
- Bir dizi "guix install" ve "guix kaldır" komutu yerine manifestte tanımlanan tek bir "guix package –manifest=manifest.scm" komutunun çalıştırıldığı bildirime dayalı dağıtım modunu kullanmak mümkündür. scm dosyası, yüklenmesi gereken tüm uygulamaları içerir. Mevcut kurulum profilini temel alan bir bildirim oluşturmak için “guix package” komutu “--export-manifest” ve “--export-channels” seçeneklerini sunar.
- Uygulama için henüz Guix için hazır bir paket oluşturulmamış olsa bile, programların en son sürümlerine sahip olmak isteyenler için yararlı olan "--with-latest" paket dönüştürme seçeneği eklendi. Ayrıca, bir veya daha fazlasına yama uygulanmış bir dizi paket oluşturmak için "--with-patch" seçeneği de eklendi.
- "guix" komutları, yazım hataları veya alternatif alt komutların varlığı durumunda değişiklik önerileri içeren önerilerin çıktısını uygular. $ guix paketi --dışa aktarma-manifestleri guix paketi: hata: dışa aktarma-manifestleri: tanınmayan seçenek ipucu: 'Dışa aktarma-manifest'ini mi kastettiniz?
- "Guix yenileme", SourceForge barındırmadan güncellemelerin indirilmesine yönelik desteğin yanı sıra, proje ana sayfasından güncellemeleri almak için genel bir html moduna da sahiptir.
- Bağımlılıkları dikkate alarak paketleri Go dilinde yinelemeli olarak içe aktarmak için yeni bir "guix import go" komutu eklendi. "guix import opam" komutu artık Coq paketlerini destekliyor. "guix içe aktarma sandığı" yinelemeli yükleme modunda anlamsal sürümlendirmeyi hesaba katar. "guix import nix" komutu kaldırıldı.
- Önceden oluşturulmuş ikili paketlerin (yedek) kurulumu optimize edildi ve “guix system init” komutunun çalışması hızlandırıldı.
- "guix ortamı" komutuna "--profile" seçeneği eklendi.
- Yerel ağ keşfi için guix-daemon'a "--discover" seçeneği eklendi. sunucularmDNS/DNS-SD protokollerini kullanarak derlenmiş ikili paketler (yerine geçen) sunan bir komuttur. Sunuculardan duyuruların gönderilmesine olanak sağlamak için "guix publish" komutuna "--advertise" seçeneği eklenmiştir.
- Paket sıkıştırma için Zstd algoritmasını kullanma yeteneği uygulanmıştır.
- “--verbosity=1” modunda indirilen URL'lerin çıktısı durdurulur.
- “Disk-image” ve “vm-image” alt komutları yerine genel “guix system image” komutu önerilmektedir.
- Dağıtım görüntüsünde Sanal makineler SPICE protokolü desteği eklendi.
- Kurulum komut dosyasına otomatik kurulum modu eklendi.
- LVM birim yöneticisini desteklemek için lvm-device-mapping hizmeti eklendi (Linux Mantıksal Birim Yöneticisi).
- Rock64 kartları için dağıtım görüntüleri oluşturmak amacıyla “guix sistem görüntüsü -t rock64-raw” modu eklendi.
- initrd'de bcachefs desteği varsayılan olarak etkindir.
- CUPS yazdırma sunucusunda Brother yazıcıları desteklemek için varsayılan olarak "brlaser" hizmeti etkindir.
- Yeni sistem servisleri eklendi: agate, cuirass-remote-worker, ipfs, keepalived, laminar, radicale, syncthing, transmission-daemon, wireguardxorg-server.
- 3100 paketteki programların versiyonları güncellendi, 2009 yeni paket eklendi. Gcc 10.3.0, glibc 2.31, GNOME 3.34.5, gnupg 2.2.27, go 1.14.15, guile 3.0.5, icecat 78.10.0-guix0-preview1, icedtea 3.7.0, inkscape 1.0.2'nin güncellenmiş sürümleri dahil , julia 1.5.3, libreoffice 6.4.7.2, linux-libre 5.11.15, ocaml 4.11.1, oktav 6.2.0, openjdk 14.0, python 3.8.2, raket 8.0, pas 1.51.0, r 4.0.4, sbcl 2.1.3, Xfce 4.16.0 ve xorg-server 1.20.10.
- Guix-daemon'da, yerel bir kullanıcının sistemdeki ayrıcalıklarını yükseltmesine olanak tanıyan CVE-2021-27851 güvenlik açığı düzeltildi. Sorun, "guix build" komutunun yürütülmesi sırasında derleme dizininin yazılabilir kalması ve kullanıcının, root'a ait olan ve derleme dizininin dışında bulunan bir dosyaya, örneğin "/etc/shadow" gibi bir sabit bağlantı oluşturabilmesidir. . Derleme sırasında "--keep-failed" seçeneği belirtildiyse, başarısızlık durumunda guix-daemon, sabit bağlantılar da dahil olmak üzere tüm montaj ağacının sahibini mevcut kullanıcıyla değiştirdi.
GNU Guix paket yöneticisinin Nix projesinin geliştirmelerine dayandığını ve tipik paket yönetimi işlevlerine ek olarak işlem güncellemeleri, güncellemeleri geri alma yeteneği, süper kullanıcı ayrıcalıkları almadan çalışma, profil desteği gibi özellikleri desteklediğini hatırlayın. bireysel kullanıcılarla ilişkili, bir programın birkaç sürümünü aynı anda kurma yeteneği, çöp toplama araçları (paketlerin kullanılmayan sürümlerini belirleme ve kaldırma). Uygulama oluşturma betiklerini ve paketleme kurallarını tanımlamak için, Scheme işlevsel programlama dilinde tüm paket yönetimi işlemlerini gerçekleştirmenize izin veren özel bir üst düzey etki alanına özgü dil ve Guile Scheme API bileşenlerinin kullanılması önerilir.
Nix paket yöneticisi için hazırlanan ve Nixpkgs deposunda barındırılan paketleri kullanma yeteneği desteklenir. Paket işlemlerine ek olarak, uygulama yapılandırmasını yönetmek için komut dosyaları oluşturabilirsiniz. Bir paket oluşturulduğunda, ilişkili tüm bağımlılıklar otomatik olarak indirilir ve oluşturulur. Hem hazır ikili paketleri depodan indirmek hem de kaynaktan tüm bağımlılıklarla derlemek mümkündür. Güncellemelerin harici bir havuzdan yüklenmesini organize ederek kurulu programların sürümlerini güncel tutmak için araçlar uygulanmıştır.
Paketler için yapı ortamı, uygulamaların çalışması için gerekli tüm bileşenleri içeren bir kap olarak oluşturulur; bu, Guix'in içinde bulunduğu dağıtımın temel sistem ortamının bileşimine bakılmaksızın çalışabilen bir dizi paket oluşturmanıza olanak tanır. eklenti olarak kullanılmaktadır. Guix paketleri arasındaki bağımlılıklar, halihazırda kurulu olan bağımlılıkların varlığını bulmak için kurulu paketler dizinindeki karma tanımlayıcıları tarayarak belirlenebilir. Paketler, kullanıcının dizinindeki ayrı bir dizin ağacına veya alt dizine yüklenir, bu da diğer paket yöneticileriyle birlikte var olmasına ve çok çeşitli mevcut dağıtımlar için destek sağlamasına olanak tanır. Örneğin, bir paket /nix/store/452a5978f3b0b426064a2b64a0c6f41-firefox-88.0.0/ olarak yüklenir; burada "452a59...", bağımlılıkları denetlemek için kullanılan benzersiz paket kimliğidir.
Bu dağıtım yalnızca özgür bileşenleri içerir ve GNU çekirdeğiyle birlikte gelir. Linux- Özgür yazılım, özgür olmayan ikili donanım öğelerinden temizlenmiştir. Derleme için GCC 9.3 kullanılmıştır. Bağımlılık desteğiyle SysV-init'e alternatif olarak geliştirilen GNU Shepherd servis yöneticisi (eski adıyla dmd), başlatma sistemi olarak kullanılmaktadır. Shepherd kontrol arka plan programı ve yardımcı programları, servis başlatma parametrelerini tanımlamak için de kullanılan Guile (Scheme dilinin bir uygulaması) ile yazılmıştır. Temel imaj konsol modunu desteklemektedir, ancak X.Org tabanlı grafik yığını bileşenleri, dwm ve ratpoison pencere yöneticileri, Xfce masaüstü ve bir dizi grafik uygulaması da dahil olmak üzere 17243 adet kuruluma hazır paket mevcuttur.
Kaynak: opennet.ru
