11 पॉइंट द्वारा GN⁺ 2025-04-23 | 2 टिप्पणियां | WhatsApp पर शेयर करें
  • bootc और bootable container की वजह से थीम बदलना अब अधिक सुरक्षित और बेहतर तरीके से प्रबंधित किया जा सकता है
  • /usr को container के रूप में परिभाषित कर rollback-योग्य बनाया जा सकता है, इसलिए सिस्टम पर आसानी से प्रयोग करके उसे वापस पहले जैसी स्थिति में लाया जा सकता है
  • ostree admin unlock कमांड से reboot किए बिना भी अस्थायी customization संभव है
  • Blue95 जैसे प्रोजेक्ट उस दौर को दिखाते हैं जिसमें distribution और container के बीच की सीमा धुंधली हो गई है
  • bootable container के ज़रिए व्यक्तिगत रचनात्मक अभिव्यक्ति को साकार किया जा सकता है

Linux थीम कस्टमाइज़ेशन का आनंद

  • कई दशकों तक अलग-अलग desktop environment और theme settings में रुचि रही
    • Xfce, LXQt, Sway आदि इंस्टॉल करके panel, launcher, sound, font और theme आदि को customize किया
    • शुरुआत में shell script का उपयोग किया, जो बाद में Ansible playbook तक विकसित हुआ
    • इसमें /usr directory को modify करने वाले system-wide बदलाव भी शामिल थे
  • लेकिन समय के साथ बार-बार टूटने या गायब हो जाने वाले panel, काम न करने वाले launcher जैसी समस्याओं के कारण default settings पर लौटने का विकल्प चुनना पड़ा
  • GNOME, KDE जैसे आधुनिक desktop environment पहले से ही अच्छी तरह बनाए गए हैं, इसलिए उनकी default state भी काफी संतोषजनक है
  • इसके बावजूद customization की इच्छा खत्म नहीं हुई, और इसी दौरान bootc का विचार सामने आया

Bootc थीम बनाने वालों का playground है

  • bootc Red Hat द्वारा विकसित bootable container system है
  • container-आधारित तरीके से operating system को परिभाषित और distribute किया जा सकता है
    FROM quay.io/fedora/fedora-bootc:42  
    RUN dnf install -y my-custom-theme my-custom-fonts my-custom-panel  
    
  • podman और bootc कमांड से image build और system switching संभव है:
    sudo podman build -f Containerfile -t my-fedora  
    sudo bootc switch --transport containers-storage localhost/my-fedora:latest  
    
  • /usr read-only होता है, और container को आसानी से पहले की स्थिति में rollback किया जा सकता है
  • यह नए theme ideas पर प्रयोग करने के लिए अनुकूल तरीका है
  • अगर कुछ विफल हो जाए या पसंद न आए, तो सिर्फ पहले की स्थिति में वापस लौटना आसान है

Development Mode (ostree admin unlock)

  • reboot किए बिना /usr को अस्थायी रूप से modify करने वाला mode
  • सफल होने पर उसे Containerfile में लागू किया जा सकता है, और विफल होने पर सिर्फ reboot करके बदलाव हटाए जा सकते हैं
  • सामान्य Linux environment में जमा होने वाले अनावश्यक अवशेष लगभग नहीं बनते, यह इसका बड़ा लाभ है

दूसरे तरीकों से तुलना

  • Ansible या shell script: reproducibility और recovery में सीमाएँ हैं
  • systemd-sysext: /usr overlay image का उपयोग संभव है, लेकिन ecosystem अभी परिपक्व नहीं है
  • Nix: सीखने की लागत बहुत अधिक है

निष्कर्षतः, bootc सुरक्षा, लचीलापन और tool support के लिहाज़ से सबसे शक्तिशाली approach है
गलत बदलाव होने पर भी rollback आसान है, इसलिए /usr खराब हो जाने की चिंता नहीं रहती

"distribution" आखिर है क्या?

  • Blue95 Fedora Xfce पर आधारित एक customized OCI image है
  • Hacker News पर इसका परिचय आने के बाद "यह तो सिर्फ एक theme है, क्या इसके लिए distribution चाहिए?" जैसा सवाल उठा

distribution की परिभाषा धुंधली हो रही है

  • पहले distribution बनाना बहुत जटिल और समय लेने वाला काम था
  • अब Containerfile + CI/CD pipeline से ही ऐसा मिलता-जुलता परिणाम आसानी से बनाया जा सकता है
  • Blue95, GitHub Actions के ज़रिए अपने-आप build होकर OCI registry में distribute होता है
  • एक साधारण Fedora-base container को distribution माना जाए या नहीं, इसका मानदंड अस्पष्ट है

पुराने उदाहरणों से तुलना

  • Bluefin, Bazzite जैसे bootc-आधारित प्रोजेक्ट भी अक्सर distribution माने जाते हैं
  • वास्तविक उपयोग अनुभव पारंपरिक Fedora से साफ़ तौर पर अलग है
  • पुरानी परिभाषाओं से अब distribution के अर्थ को समझाना मुश्किल हो गया है
    • "देखते ही समझ आ जाता है" जैसा गुणात्मक मानदंड ही शायद एकमात्र परिभाषा बचता है

निष्कर्ष

  • सिर्फ theme के लिए "distribution" बनाना अनावश्यक लग सकता है
  • लेकिन bootable container के साथ एकसमान design और app configuration को परिभाषित किया जा सकता है,
  • और उसे खुद बनाकर इस्तेमाल करने की आज़ादी गहरा आनंद और उपलब्धि का एहसास देती है

जिस operating system पर यह लेख अभी लिखा जा रहा है, वह मेरे बनाए container से boot हुआ system है
यह अनगिनत developers के काम के ऊपर मेरी रचनात्मक अभिव्यक्ति जुड़ने का नतीजा है,
और यही बात मुझे बहुत खुशी देती है

2 टिप्पणियां

 
zihado 2025-04-23

मुझे अभी भी bootable कंटेनर ठीक से समझ में नहीं आ रहे हैं।

 
GN⁺ 2025-04-23
Hacker News की राय
  • सामान्य कंटेनर dotfiles टेस्टिंग के लिए बहुत उपयोगी होते हैं

    • कुछ साल पहले, सिस्टम को जल्दी सेटअप करने के लिए https://github.com/nickjj/dotfiles में एक install script जोड़ी थी
    • आधिकारिक Debian और Ubuntu images का उपयोग करके टेस्ट किया था
    • हाल ही में इसे Arch Linux को support करने के लिए refactor किया था
    • पूरा टेस्ट लगभग 5 मिनट में पूरा किया जा सकता है
    • कंटेनर 1 सेकंड में शुरू हो जाता है, और बाकी समय script चलती है
    • यह सिस्टम में बदलाव किए बिना टेस्ट करने देता है
    • Docker ने पिछले 10 सालों में बहुत सी अच्छी चीजें संभव बनाई हैं
  • immutable Linux और bootable containers का आइडिया पसंद है

    • अगला प्रोजेक्ट शायद bazzite पर स्विच करना होगा
    • लेकिन Containerfile को देखकर supply chain की कमजोरियों को लेकर चिंता होती है
    • 20 अलग-अलग copr repositories का उपयोग हो रहा है, और versions pin नहीं किए गए हैं
    • Debian इस्तेमाल करने पर packages को लेकर ज़्यादा भरोसा रहता है
    • supply chain risk को एक ही फ़ाइल में package करना खतरनाक हो सकता है
    • जानना चाहता हूँ कि क्या दूसरों को भी यही चिंता है
  • सोचता हूँ कि theming को लेकर और ज़्यादा उत्साह क्यों नहीं है

    • Chicago95 और Garuda के KDE theme पसंद हैं
    • अलग-अलग DE के themes डाउनलोड करने वाली websites हैं, लेकिन ज़्यादातर थोड़ी अस्थिर लगती हैं
  • bootable containers के बारे में बिल्कुल नहीं जानता था

    • Blue95, bootc के उपयोग के संदर्भ में ज़्यादा समझ में आता है
    • NsCDE जैसे examples देखे जा सकते हैं
  • Enlightenment के साथ खेलते रहने वाले दिन याद आ गए

    • यह X11 की संभावनाओं को आगे बढ़ाने की एक कोशिश थी
    • यह अभी भी मौजूद है, यह हैरानी की बात है
  • bootable containers को लेकर दिलचस्पी महसूस होती है

    • यह NixOS के impermanence module जैसा लगता है
  • bootc प्रोजेक्ट इस समय Linux में सबसे दिलचस्प चीजों में से एक है

    • अच्छा होगा अगर Debian जैसे प्रोजेक्ट इसे अपनाएँ
    • reliability के लिहाज़ से बहुत से फायदे मिल सकते हैं
  • thumbnail image मेरी पूरी स्थिति को दर्शाती है

  • उम्मीद थी कि modern OS को अनंत रूप से आसानी से theme किया जा सकेगा, लेकिन ऐसा नहीं है

    • सोचा था कि बेहतरीन retro themes और मौलिक themes मौजूद होंगे