Oasis – Küçük, statik olarak bağlanmış bir Linux sistemi
(github.com/oasislinux)Oasis, küçük bir Linux sistemidir
- Oasis, diğer Linux tabanlı işletim sistemlerinden oldukça farklıdır ve BSD'ye daha yakındır.
- Tüm yazılımlar statik olarak bağlanmıştır; bu da kütüphane yükseltme sorunlarını çözer ve diğer sistemlere kolayca kopyalanabilen tamamen bağımsız ikililer sunar.
- Hızlı derleme ve %100 yeniden üretilebilir derlemeler sunar; optimum derleme süresi, öngörülebilir ve yeniden üretilebilir derlemeler, azalmış derleme zamanı bağımlılıkları ve paket sınırlarını aşsa bile artımlı derleme sağlar.
- En az düzeyde bootstrap bağımlılığına sahiptir; bu sayede macOS veya OpenBSD gibi Linux dışı sistemlerde bile kolayca çapraz derleme yapılabilir.
İlkeler
- Yazılım karmaşıklığı, tüm geçişli bağımlılıklar dahil edilerek ölçülmelidir.
- Çalıştırılabilir dosyalar statik olarak bağlanmalıdır.
- Yazılım bileşenleri, kolay özelleştirme ve değişiklik yapmaya izin vermelidir.
- Paket kaynakları doğrudan dahil edilmemeli, URL veya git submodule aracılığıyla referans verilmelidir.
/etc, tamamen anlaşılabilecek kadar basit olmalıdır.- Yamalar iyi düzenlenmiş olmalı, iyi açıklamalara sahip olmalı ve her zaman temiz bir şekilde uygulanmalıdır.
Kurulum
- Oasis iddialı bir projedir ve hâlâ yapılacak çok iş vardır.
- Kullanıcıların kendi çekirdeğini derlemeye ve sistem sorunlarını çözmeye alışkın olması gerekir.
- Sorun yaşarsanız yardımcı olmaktan her zaman memnuniyet duyarlar.
QEMU
- Oasis'i doğrudan kurmadan denemek isterseniz bir QEMU imajı kullanabilirsiniz.
- Arşiv; kök dosya sistemi, Linux çekirdeği ve QEMU'yu çalıştıran bir betik içerir.
- Grafik modda çalıştırmak için
./run, seri modda çalıştırmak için./run -skullanabilirsiniz.
Yazılım
- Mümkün olduğunca basit ve küçük kütüphane ile araç uygulamaları kullanır.
- musl, sbase, ubase, pigz, mandoc, bearssl, oksh, sdhcp, vis, byacc, perp ve sinit, netsurf, samurai, velox, netbsd-curses; glibc, coreutils, util-linux, gzip, man-db, openssl, bash, dhclient/dhcpcd, vim/emacs, bison, sysvinit/systemd, chromium/firefox, ninja, Xorg ve ncurses yerine kullanılır.
- Paketler mantıksal kümeler halinde gruplanmıştır; tam liste pkg dizininde görülebilir.
- Tercih ettiğiniz yazılım eksikse, pkgsrc veya nix üzerinden yine de kurulabilir.
İletişim
- Sorular, yamalar ve genel tartışmalar için posta listesi (~mcf/oasis@lists.sr.ht) ve IRC kanalı (#oasis on libera.chat) kullanılabilir.
GN⁺ görüşü
- Oasis, mevcut Linux sistemlerinden farklı bir yaklaşım sunuyor ve statik bağlama, hızlı derleme, asgari bootstrap bağımlılıkları gibi özellikleriyle geliştiricilere yeni bir seçenek sağlıyor.
- Bu sistem, yazılım geliştirme karmaşıklığını azaltmayı ve özelleştirme ile değişiklik yapma kolaylığını önemseyen bir felsefeye sahip; bu da yazılım mühendisliği ilkelerine taze bir bakış sunuyor.
- Oasis hâlâ geliştirme aşamasında olan bir proje olsa da, teknik zorluklardan hoşlanan ve sistem hakkında derin bir anlayış isteyen kullanıcılar için çekici bir alternatif olabilir.
1 yorum
Hacker News görüşleri
Sistemin kendisi hakkında fazla bir şey söyleyemem ama IRC üzerinden toplulukla etkileşime geçtiğimde çok dost canlısılardı. Değiştirilemez bir OS imajı oluşturup bunu Kubernetes düğümü olarak çalıştırmayı planlıyordum; biraz yardımla bunu başardım.
Statik bağlantı, kütüphanelerin birden fazla kopyası nedeniyle temel imajın ve çalışma zamanı belleğinin daha büyük olabileceğini ima ediyor. Statik bağlantının sadeliği güzel ama "boyutu küçültme" fikrine ters düşüyor gibi görünüyor.
2022 Ağustos'undaki önceki tartışmanın bağlantısı verilmiş.
Varsayılan kurulum boyutunun ne kadar olduğunu bilen var mı diye merak ediyorum. Hiçbir yerde yanıt bulamadım ve QEMU imajına verilen bağlantı şu anda bozuk. Örneğin, benzer paket setine sahip Alpine ile karşılaştırıldığında nasıl olduğunu merak ediyorum.
Kullanım senaryosunun ne olduğunu ve croc C derleyicisini kullanmanın avantajının ne olduğunu merak ediyorum. TCC yerine croc kullanmanın faydası nedir? Ayrıca Netsurf tarayıcısını öğrenmek ilginçti. Ancak Duktape JS motorunu kullandığı için performans sorunları olabilir.
JavaScript kapalıyken Github'a erişilememesinden şikayet eden (silinmiş) bir yorum vardı. Oasis deposu sourcehut'ta da aynalanıyor, bu yüzden orası daha kabul edilebilir olabilir.
michaelforney, st'nin Wayland portunu da yaptı. Oasis'in selefi sta.li idi.
Statik kütüphanelerin boyutunun ne kadar olduğunu merak ediyorum. Dinamik kütüphaneler adres alanını paylaşabilir ama statik kütüphanelerde bağlayıcı kullanılmayan rutinleri kaldırabildiğinden beklenmedik verimlilikler olabilir. Ayrıca daha hızlı da olabilir.
musl ile geleneksel glibc arasındaki karşılaştırmanın ne olduğunu, bu iki kütüphane arasında performans farkı bulunup bulunmadığını merak ediyorum. Son dönemde Rust ve Zig ekosistemlerinde musl kullanımı giderek artıyor.
İlginç tercihler; bunun sadece bir başka Linux dağıtımı olmamasını olumlu buluyorum.