- 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 तक विकसित हुआ
- इसमें
/usrdirectory को 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/usrread-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:/usroverlay 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 टिप्पणियां
मुझे अभी भी bootable कंटेनर ठीक से समझ में नहीं आ रहे हैं।
Hacker News की राय
सामान्य कंटेनर dotfiles टेस्टिंग के लिए बहुत उपयोगी होते हैं
immutable Linux और bootable containers का आइडिया पसंद है
सोचता हूँ कि theming को लेकर और ज़्यादा उत्साह क्यों नहीं है
bootable containers के बारे में बिल्कुल नहीं जानता था
Enlightenment के साथ खेलते रहने वाले दिन याद आ गए
bootable containers को लेकर दिलचस्पी महसूस होती है
bootc प्रोजेक्ट इस समय Linux में सबसे दिलचस्प चीजों में से एक है
thumbnail image मेरी पूरी स्थिति को दर्शाती है
उम्मीद थी कि modern OS को अनंत रूप से आसानी से theme किया जा सकेगा, लेकिन ऐसा नहीं है