İçeriğe atla

GNU Guix

GNU Guix
Geliştirici(ler)GNU Tasarısı
İlk yayınlanma22 Kasım 2012 (11 yıl önce) (2012-11-22)
Güncel sürüm1.1.0 / 15 Nisan 2020 (4 yıl önce) (2020-04-15)[1]
Programlama diliGuile Scheme, C++ (Nix çekirdeği)
TürPaket yönetim sistemi
LisansGNU Genel Kamu Lisansı
Resmî sitesignu.org/software/guix
Kod deposu Bunu Vikiveri'de düzenleyin

GNU Guix, GNU için bir paket yöneticisidir. Nix paket yöneticisini ve Guile Şeması uygulama programlama arayüzlerini taban almıştır. Tümüyle özgür yazılımdır.[2][3]

Tarihçesi

  • GNU Guix tasarısı Haziran 2012'de bir GNU Guile programcısı olan Ludovic Courtès tarafından başlatılmıştır.[4]
  • GNU Tasarısı Kasım 2012'de GNU Guix'in ilk sürümünü duyurmuştur.
  • 20 Ağustos 2015'te Guix'in GNU Hurd'a uyarlandığı duyurulmuştur[5] ve Hurd'ün ilk yerli paket yöneticisi olmuştur.[6]

Özellikler

  • Guix kullanılırken her paket kendi dizinindeki bir paket deposunda son bulur, /gnu/store/xxx-package-1.2 gibi. xxx bir base32 değeridir. (Guix bu dosya isimlerini kısaltmak için bir Emacs eklentisiyle birlikte gelir.)
  • Her kullanıcı bir profile sahiptir ve bu profiller hangi paketlerin kullanılacağını işaret eder. Profiller ayrı ayrı kullanıcıların ana dizininde depolanır, $HOME/.guix-profile gibi.
Örneğin, orhan GCC 4.7.2'yi yükler. Bunun sonucunda, kendi dizininde oluşan /home/orhan/.guix-profile/bin/gcc dosyası /gnu/store/...-gcc-4.7.2/bin/gcc'yi işaret eder. Aynı makinede, inci de GCC 4.8.0 yüklemiştir. inci'nin profili /gnu/store/...-gcc-4.8.0/bin'i işaret etmektedir. Yani, GCC'nin her iki sürümü herhangi bir çatışma olmadan aynı sistem üzerinde bulunabilir.
  • guix package komutu paketleri yönetmek için merkezi bir araçtır. Kullanıcı bazlı profiller üzerinde çalışır ve sıradan kullanıcı yetkileriyle birlikte kullanılabilir.
Bu komut; kurma, silme ve yükseltme işlemlerinin tümünü gerçekleştirebilir. Belirtilen süreç başarılı olsa da olmasa da her bir yürütme aslında bir işlemdir. Böylelikle, eğer işlem sırasında guix package süreci sonlandırılırsa ya da işlem sırasında elektrik kesintisi yaşanırsa kullanıcı profili bir önceki duruma döner ve sistem kullanır halde kalır.
  • Herhangi bir paket işlemi geri döndürülebilir. Örnek olarak, eğer bir yükseltme ciddi hatalar barındıran bir paketi yüklediyse, kullanıcı kendi profilinin gayet iyi çalışan bir önceki durumuna geri dönebilir. Benzer olarak, genel sistem yapılandırması da transaksiyonel yükseltme ve geri almaya dahildir.
  • Paket deposundaki tüm bu paketler bir çöp yığını halini alabilir. Guix hangi paketin hala kullanıcı profilleri ile ilişkilendirildiğini bulur ve ilişkilendirilmeyen paketleri siler. Kullanıcılar profillerinin eski sürümlerini silebilir ve bunlarla bağıntılı olan eski paketler de silinmek için işaretlenebilir.
  • Sonuçta, Guix tam anlamıyla işlevsel bir paket yöneticisidir. Her /gnu/store paket dizin ismi; derleyici, kütüphaneler, inşa betikleri gibi bu paketi inşa etmede kullanılan gereksinimlere yazılan girdilerin özetinden oluşur. Bu, belirlenen paket kurulumunun kullanıcının dağıtımın mevcut durumuna uygunluğunu denetleyebilmesini sağlar. Ayrıca bu, inşanın yeniden üretilebilirliğinin azami düzeye çıkmasına yardımcı olur.
  • Bir /gnu/store öğesi için önceden derlenmiş ikili dosyanın harici bir kaynakta bulunması halinde Guix sadece indirir ve verileri dışa çıkartır, bunun dışında yerel olarak, bir paketi kaynağından inşa edebilir.
  • İnşa ortamında denetim özelliği geliştiriciler için oldukça kullanışlıdır. guix environment komutu paket geliştiricilerinin paketleri için doğru inşa ortamını hızlıca kurmalarını sağlar, bu özellik sayesinde her geliştirici ayrı ayrı paket bağımlılıklarını kendi profiline kurmak zorunda kalmaz.[7]

Guix System Distribution

Guix tasarısı ayrıca Guix System Distribution'ı geliştirir. Bu dağıtım Linux-libre çekirdeğini ve GNU Shepherd başlatma sistemini kullanır ve tümüyle yüklenebilir bir GNU sistemidir.

Kaynakça

  1. ^ Courtès, Ludovic; Bakke, Marius. "GNU Guix 1.1.0 released". 15 Nisan 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Nisan 2020. 
  2. ^ Ludovic Courtès (2013). "Functional Package Management with Guix". Madrid, İspanya: European Lisp Symposium. 10 Ekim 2015 tarihinde kaynağından arşivlendi. 
  3. ^ "Introducing GNU Guix". 13 Mayıs 2013 tarihinde kaynağından arşivlendi. Erişim tarihi: 26 Ocak 2016. 
  4. ^ "Re: A GNU Distribution". 13 Mayıs 2013 tarihinde kaynağından arşivlendi. Erişim tarihi: 26 Ocak 2016. 
  5. ^ "[GSoC update] Porting Guix to GNU/Hurd". 3 Kasım 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 26 Ocak 2016. 
  6. ^ "GNU Guix Package Manager Ported To GNU Hurd". www.phoronix.com. Phoronix. 25 Eylül 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 26 Ocak 2016. 
  7. ^ "GNU Guix Reference Manual: Features". www.gnu.org. GNU. 24 Temmuz 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 26 Ocak 2016. 

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">İşletim sistemi</span> bilgisayar donanım kaynaklarını yöneten yazılım

İşletim sistemi ya da işletim dizgesi, bir bilgisayarın donanım kaynaklarını yöneten ve uygulama yazılımlarına hizmet sağlayan yazılımların bir bütünüdür. İşletim sistemleri, bilgisayarın donanımı ile uygulama yazılımları arasında bir köprü görevi görerek kullanıcıların sistemle etkileşim kurmasını sağlar. Öne çıkan örnekler arasında Microsoft Windows, macOS, GNU/Linux dağıtımları, Android ve iOS yer alır.

<span class="mw-page-title-main">GNU</span> bilgisayar işletim sistemi

GNU; çekirdeği, sistem araçlarını, açıcılarını, kütüphanelerini ve son kullanıcı yazılımlarını içeren, GNU Tasarısı kapsamında geliştirilen bir işletim sistemidir. İsminin açılımı "GNU's Not Unix" dir. Bu ismi almasındaki sebep de tasarımının Unix'e benzerken kendisinin özgür yazılım olması ve herhangi bir UNIX kodunu içermemesidir.

<span class="mw-page-title-main">MS-DOS</span> 1980li yıllarda kişisel bilgisayar işletim sistemi

MS-DOS, Microsoft firmasının geliştirdiği bir DOS sistemidir. 1980'li yıllarda PC uyumlu platformlar üzerinde kullanılan en yaygın işletim sistemiydi. 1990'lı yılların ortalarından 2000 yılına kadarki en popüler işletim sistemleri olan Windows 9x ailesinin temeli olarak kullanıldı. Masaüstü bilgisayarlardaki popülerliğini, zamanla Windows NT mimarisi kullanan yeni nesil Windows işletim sistemlerine bıraktı.

<span class="mw-page-title-main">Bash</span>

Bash, Brian Fox tarafından GNU Projesi için Bourne kabuğuna özgür yazılım alternatifi olarak yazılmış, Unix ve benzeri işletim sistemlerinde kullanılan komut satırı kabuğu ve bu kabuğun betik dilidir. GNU Tasarısı'nın parçasıdır ve birçok GNU/Linux dağıtımında ön tanımlı kabuk olarak gelir. Ayrıca bir versiyonu Windows 10 için Linux İçin Windows Alt Sistemi aracılığıyla mevcuttur. Solaris 11'in de varsayılan kullanıcı betiğidir. Bash ayrıca 2019 öncesinde çıkan tüm MacOS sürümlerinde varsayılan kabuktu.

<span class="mw-page-title-main">PiSi Paket Yöneticisi</span>

PiSi, 2011.2 sürümüne kadar Pardus'un güncel olarak da Pisi Linux ve Solus'un paket yöneticisidir. Bağımlılıkları takip ederek paket inşa etme, kurma, kaldırma, yükseltme ve benzeri işlevleri yerine getirir. Kullanıcı dostu bir grafiksel arayüz ve kapsamlı bir komut satırı arayüzü içerir. Geliştiriciler için tanıdık ve basit bir geliştirme ortamı sunar.

<span class="mw-page-title-main">Pardus 2008</span>

Pardus 2008, Pardus Linux dağıtımının 27 Haziran 2008 tarihinde çıkan kararlı sürümüdür.

<span class="mw-page-title-main">Nexenta OS</span>

Nexenta OS OpenSolaris projesi ile Oracle firmasının Solaris'in kaynak kodlarını açmasından sonra ortaya çıkan OpenSolaris dağıtımıdır. Nexenta OS, Solaris (SunOS) çekirdeğine sahiptir.

<span class="mw-page-title-main">ALT Linux</span>

ALT Linux, RPM Paket Yöneticisi (RPM) tabanlı ve Linux çekirdeği ve Sisyphus paket deposu üzerine inşa edilmiş bir dizi Rus işletim sistemidir. ALT Linux, ALT Linux Team geliştiriciler topluluğu ve ALT Linux Ltd. tarafından ortaklaşa geliştirilmiştir.

<span class="mw-page-title-main">Arch Linux</span> GNU/Linux dağıtımı

Arch Linux, belirli bir düzeyde GNU/Linux bilgisi olan kullanıcıları hedef seçmiş bağımsız geliştirilen bir topluluk dağıtımıdır. İlk sürümü 2002 yılında yayınlanmıştır. Arch Linux ekibinin tasarım yaklaşımı basitlik, sadelik ve kod doğruluğu üzerinedir. Ancak buradaki "basitlik" kelimesi, Arch geliştiricileri tarafından "gerekli olmayan eklentiler ve değişiklikler olmaksızın" anlamına gelmekte ve bu felsefe son kullanıcıdan ziyade geliştirici bakış açısını yansıtmaktadır.

<span class="mw-page-title-main">CRUX</span> Linux dağıtımı işletim sistemi

CRUX i686 işlemci mimarili bilgisayarlar için geliştirilmiş hafif bir GNU/Linux dağıtımıdır. tar.gz tabanlı bir paket sistemi ve BSD tarzı başlangıç betikleri kullanan CRUX daha çok deneyimli kullanıcıları hedeflemektedir. CRUX paket yükleme ve güncelleme için ports sistemini de kullanmaktadır. CRUX, minimal ve basit tasarımıyla, görece daha ünlü olan Arch Linux'a ilham veren dağıtımlardan biridir. Son CRUX sürümü 3.6.1'dır.

Çevre değişkenleri, çevresel değişkenler ya da ortam değişkenleri, işletim sistemi seviyesinde konfigüre edilebilen ve bilgisayar işlemleri tarafından erişilebilen değişkenlerdir. Çoğu kez belli programların ve dosyaların konumlarını ve birden fazla işlem tarafından kullanılabilen bilgi ve ayarları tutmak için kullanılırlar. Çoğunlukla bir karakter dizisi olurlar.

Pisi Linux; PiSi paket yönetim sistemini içeren Pardus 2011 sürümünü taban alan, özgür yazılım topluluğu tarafından geliştirilen, bilgisayar kullanıcılarına kurulum, yapılandırma ve kullanım konusunda büyük kolaylık sağlayan ve onların başlıca masaüstü gereksinimlerini karşılamayı amaçlayan, son kullanıcı odaklı bir GNU/Linux dağıtımıdır. Anka takımı tarafından geliştirilme süreci devam eden Pisi Linux, 10 Temmuz 2015'te 1.2 sürümü yayımlandı. İçerisinde 6000'den fazla güncellenmiş paketi bulunan 1.2 sürümü sonrası ise büyük değişimler getirecek olan 2.1 sürümü ile tüm paketler yeni sürümlerine geçirildi ve birçok hata giderildi, bu sayede Pisi Linux'un hızı ve stabilitesi artırılmış oldu.

<span class="mw-page-title-main">GNU Projesi</span> Özgür yazılım projesi

GNU Tasarısı, toplu işbirliğini temel alan bir özgür yazılım tasarısıdır. Richard Stallman tarafından Massachusetts Teknoloji Enstitüsü'nde 27 Eylül 1983 tarihinde kamuoyuna duyurulmuştur. Tasarının hedefi işbirliği yoluyla özgür yazılımlar geliştirip dağıtarak bilgisayar kullanıcılarının bilgisayarlarını ve benzeri araçlarını kendi istekleri doğrultusunda özgürce kullanmalarını sağlamaktır. Bu tasarının temelinde kullanıcıların yazılımı çalıştırma, paylaşma, inceleme ve değiştirme konularında özgür olmaları yatar. GNU yazılımları bu özgürlükleri dağıtıldıkları lisans ile yasal olarak güvence altına alır, dolayısıyla GNU yazılımları özgür yazılımlardır.

<span class="mw-page-title-main">Linux-libre</span>

Linux-libre, Linux çekirdeğinin değiştirilmiş sürümlerinden sağlanan bir GNU paketi ve işletim sistemi çekirdeğidir. Bu tasarının hedefi kaynak kodu olmayan, kod şaşırtması bulunan ve özgür olmayan her yazılımın Linux çekirdeğinden çıkarılmasıdır.

<span class="mw-page-title-main">Guix System Distribution</span>

Guix System Distribution, GNU Guix paket yöneticisi etrafında inşa edilen bir işletim sistemidir. Linux-libre çekirdeğini kullanır ve gelişim aşamasındaki GNU Hurd çekirdeğini destekler. 3 Şubat 2015'te Özgür Yazılım Vakfı'nın özgür dağıtımlar listesine eklenmiştir.

pass, Unix felsefesinden esinlenen bir parola yöneticisidir. Komut satırı arabirimi üzerinden çalışır ve depolanan parolaların şifrelenmesi ve şifresinin çözülmesi için GnuPG'yi kullanır.

Bu, Microsoft Windows bileşenlerinin bir listesidir.

<span class="mw-page-title-main">Devuan</span>

Devuan, systemd yerine sysvinit, runit veya OpenRC kullanan Debian Linux dağıtımının bir çatalıdır. Devuan, systemd gibi projeler tarafından "kilitlenmeyi" önlemeyi amaçlar ve Linux'u diğer Unix sistemlerinden ayırmaktan kaçınmak için diğer init sistemleriyle uyumluluğu korumayı hedefler.

<span class="mw-page-title-main">Pop! OS</span>

Pop OS, bilgisayar üreticisi System76 firması tarafından geliştirilen, Ubuntu tabanlı özgür ve açık kaynaklı bir Linux dağıtımıdır. Grafik kullanıcı arayüzü olarak yine System76 tarafından geliştirilen COSMIC masaüstü ortamını kullanmaktadır. Pop! _OS'un hedef kitlesi; bilgisayarı keşfetme ve yaratma aracı olarak kullanan STEM ve yaratıcı profesyoneller olarak belirlenmiştir.

<span class="mw-page-title-main">GoboLinux</span>

GoboLinux, en belirgin özelliği geleneksel Linux dosya sisteminin yeniden düzenlenmesi olan bir Linux dağıtımıdır. Çoğu Unix benzeri sistem gibi Dosya Sistemi Hiyerarşi Standardını takip etmek yerine, bir GoboLinux sistemindeki her programın, tüm dosyalarının bulunabileceği kendi alt dizin ağacı vardır. Böylece, bir "Foo" programının tüm özel dosyaları ve kütüphaneleri /Programs/Foo dizininde, bu programın ilgili sürümü altında bulunur. Örneğin, yaygın olarak bilinen GCC derleyici paketinin 8.1.0 sürümü /Programs/GCC/8.1.0. dizini altında bulunur.