4 पॉइंट द्वारा GN⁺ 2024-01-27 | 1 टिप्पणियां | WhatsApp पर शेयर करें

Oasis एक छोटा Linux सिस्टम है

  • Oasis अन्य Linux-आधारित operating systems से काफी अलग है और BSD के अधिक करीब है.
  • सभी software statically linked हैं, जिससे library upgrade की समस्याएँ हल होती हैं और पूरी तरह self-contained binaries मिलती हैं जिन्हें आसानी से दूसरे सिस्टम पर कॉपी किया जा सकता है.
  • यह तेज build और 100% reproducible builds प्रदान करता है, साथ ही बेहतर build time, predictable और reproducible builds, build-time dependencies में कमी, और package boundaries के पार भी incremental builds की सुविधा देता है.
  • इसमें bootstrap dependencies बहुत कम हैं, इसलिए macOS या OpenBSD जैसे non-Linux systems पर भी इसे आसानी से cross-compile किया जा सकता है.

सिद्धांत

  • software complexity को उसकी सभी transitive dependencies सहित मापा जाना चाहिए.
  • executable files statically linked होने चाहिए.
  • software components ऐसे होने चाहिए कि customization और modification आसानी से हो सके.
  • package sources को URL या git submodules के माध्यम से reference किया जाना चाहिए, उन्हें सीधे शामिल नहीं किया जाना चाहिए.
  • /etc इतना सरल होना चाहिए कि उसे पूरी तरह समझा जा सके.
  • patches अच्छी तरह संगठित होने चाहिए, उनके साथ अच्छे विवरण होने चाहिए, और वे हमेशा साफ़ तरीके से apply होने चाहिए.

इंस्टॉलेशन

  • Oasis एक महत्वाकांक्षी project है और अभी इसमें बहुत काम बाकी है.
  • उपयोगकर्ताओं को अपना kernel build करने और system समस्याओं को हल करने का अनुभव होना चाहिए.
  • यदि कोई समस्या आती है, तो मदद देने में हमेशा खुशी होगी.

QEMU

  • यदि आप Oasis को सीधे install किए बिना आज़माना चाहते हैं, तो QEMU image का उपयोग कर सकते हैं.
  • archive में root filesystem, Linux kernel, और QEMU चलाने की script शामिल है.
  • ./run का उपयोग graphical mode में, और ./run -s का उपयोग serial mode में चलाने के लिए किया जा सकता है.

सॉफ्टवेयर

  • जहाँ तक संभव हो, सरल और छोटे libraries तथा tools के implementations का उपयोग किया जाता है.
  • musl, sbase, ubase, pigz, mandoc, bearssl, oksh, sdhcp, vis, byacc, perp और 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, ncurses के विकल्प के रूप में किया जाता है.
  • packages को logical sets में समूहित किया गया है, और पूरी सूची pkg directory में देखी जा सकती है.
  • यदि आपका पसंदीदा software मौजूद नहीं है, तो उसे pkgsrc या nix के माध्यम से फिर भी install किया जा सकता है.

संपर्क

  • प्रश्नों, patches और सामान्य चर्चा के लिए mailing list (~mcf/oasis@lists.sr.ht) और IRC channel (libera.chat पर #oasis) का उपयोग किया जा सकता है.

GN⁺ की राय

  • Oasis पारंपरिक Linux systems से अलग एक approach प्रदान करता है, और static linking, तेज builds, तथा न्यूनतम bootstrap dependencies जैसी विशेषताओं के कारण developers को एक नया विकल्प देता है.
  • यह सिस्टम software development की complexity को कम करने और customization व modification की आसानी को महत्व देने वाली सोच रखता है, जिससे software engineering के सिद्धांतों पर एक ताज़ा दृष्टिकोण मिलता है.
  • Oasis अभी development में है, लेकिन जो उपयोगकर्ता तकनीकी चुनौतियों का आनंद लेते हैं और सिस्टम की गहरी समझ चाहते हैं, उनके लिए यह एक आकर्षक विकल्प हो सकता है.

1 टिप्पणियां

 
GN⁺ 2024-01-27
Hacker News राय
  • सिस्टम के बारे में ज़्यादा नहीं कह सकता, लेकिन IRC के ज़रिए कम्युनिटी के साथ बातचीत करते समय वे बहुत दोस्ताना थे। immutable OS image बनाकर उसे Kubernetes node के रूप में चलाने की योजना थी, और थोड़ी मदद से वह सफल भी हुई।

  • static linking का मतलब है कि लाइब्रेरी की कई कॉपियों की वजह से base image और runtime memory बड़े हो सकते हैं। static linking की सरलता अच्छी है, लेकिन यह "आकार कम करने" के विचार के खिलाफ लगती है।

  • अगस्त 2022 की पिछली चर्चा का लिंक दिया गया।

  • सोच रहा हूँ कि क्या किसी को default install size पता है। कहीं भी जवाब नहीं मिला, और QEMU image का लिंक इस समय टूटा हुआ है। उदाहरण के लिए, similar package set वाले Alpine की तुलना में यह कैसा है, यह जानना दिलचस्प होगा।

  • सोच रहा हूँ कि इसका use case क्या है, और croc C compiler इस्तेमाल करने का फायदा क्या है। TCC की जगह croc इस्तेमाल करने का लाभ क्या है, और Netsurf browser के बारे में जानकर दिलचस्प लगा। लेकिन यह Duktape JS engine इस्तेमाल करता है, इसलिए performance issue हो सकते हैं।

  • JavaScript बंद होने पर Github तक पहुँच न होने की शिकायत करने वाली एक (हटाई गई) टिप्पणी थी। Oasis repository sourcehut पर भी mirror की गई है, इसलिए वह ज़्यादा स्वीकार्य हो सकती है।

  • michaelforney ने st का wayland port भी किया था। Oasis का पूर्ववर्ती sta.li है।

  • सोच रहा हूँ कि static libraries का आकार कितना होता है। dynamic libraries address space साझा कर सकती हैं, लेकिन static libraries के मामले में linker unused routines को हटा सकता है, इसलिए अप्रत्याशित efficiency हो सकती है। साथ ही, यह तेज़ भी हो सकता है।

  • सोच रहा हूँ कि musl और पारंपरिक glibc के बीच तुलना क्या है, और क्या दोनों लाइब्रेरी के बीच performance का अंतर है। हाल में Rust और Zig ecosystem में musl का उपयोग बढ़ता जा रहा है।

  • दिलचस्प विकल्प, और इसे सिर्फ एक और Linux distribution न मानने के लिए सकारात्मक मूल्यांकन।