Gentoo का बाइनरी संस्करण जारी
(gentoo.org)- Gentoo ने source-based distribution वाला अपना स्वभाव बनाए रखते हुए, धीमे हार्डवेयर और आसान installation के लिए आधिकारिक binary package download और direct installation उपलब्ध कराया है
- उपलब्धता architecture के अनुसार अलग-अलग है; amd64 और arm64 पर 20GB से अधिक packages और रोज़ update होने वाले Gentoo stable packages मिल सकते हैं
- नए stage installation में binary repository की settings शामिल हैं, और मौजूदा installation में
/etc/portage/binrepos.conf/में config file जोड़कर इसका उपयोग किया जा सकता है - आधिकारिक packages sign किए जा सकने वाले GPKG format में हैं और verification fail होने पर installation अस्वीकार कर दिया जाता है, लेकिन default settings में compatibility के लिए unsigned XPAK भी अनुमति पा सकता है
- अगर profile defaults से अलग USE flag combinations इस्तेमाल किए जाते हैं, तो binary packages को वैसे ही उपयोग करना मुश्किल होगा; ज़रूरत के हिस्सों में local compilation के साथ mix करके चलाना होगा
Gentoo अब आधिकारिक binary packages उपलब्ध कराता है
- Gentoo, Portage द्वारा लंबे समय से supported binary package feature को official download और direct installation के रूप में उपलब्ध कराता है
- उद्देश्य धीमे hardware पर काम का समय कम करना और overall installation/update की सुविधा बढ़ाना है
- यह पहले की तरह source-based distribution ही रहेगा, और source builds व binary packages को साथ में इस्तेमाल किया जा सकता है
Architecture के अनुसार उपलब्धता
- अधिकांश architectures core system और weekly update scope तक सीमित हैं
- amd64 और arm64 पर अधिक बड़ा package set उपलब्ध है
- mirrors पर 20GB से अधिक packages उपलब्ध हैं
- LibreOffice, KDE Plasma, Gnome, Docker आदि शामिल हैं
- Gentoo stable packages रोज़ update होते हैं
Installation environment के अनुसार setup तरीका
- मौजूदा Gentoo installation में binary packages इस्तेमाल करने के लिए
/etc/portage/binrepos.conf/में config file बनानी होगी- सामान्य प्रक्रिया के लिए Binary package quickstart देखा जा सकता है
- अधिक विस्तृत settings binary package guide में संकलित हैं
- नए stage-based installation में
/etc/portage/binrepos.conf/gentoobinhost.confपहले से शामिल है- ज़रूरत हो तो
src-uriको local mirror की संबंधित directory URI से बदला जा सकता है - update example
emerge -uDNavg @worldहै
- ज़रूरत हो तो
amd64 और arm64 build criteria
amd64/binpackages/17.1/x86-64के नीचे binary packages निम्न settings से compile किए गए हैंCFLAGS="-march=x86-64 -mtune=generic -O2 -pipe"- सभी amd64 / x86-64 machines पर काम करते हैं
- amd64 packages की USE flag settings और versions stable package profiles से मेल खाते हैं
amd64/17.1/nomultilibamd64/17.1/desktop/plasma/systemdamd64/17.1/desktop/gnome/systemd
arm64/binpackages/17.0/arm64के नीचे packages निम्न settings से compile किए गए हैंCFLAGS="-O2 -pipe"- सभी arm64 / AArch64 machines पर काम करते हैं
- arm64 packages की USE flag settings और versions भी stable package profiles के अनुरूप हैं
arm64/17.0arm64/17.0/desktop/plasma/systemdarm64/17.0/desktop/gnome/systemd
- CPU-specific optimization चाहिए तो पहले की तरह खुद compile करना होगा
अन्य architectures और stage integration
- अन्य architectures और ABI की binary package hosting stage builds से जुड़ी है
- लगभग सभी stages के लिए ऐसी binary package hosting उपलब्ध है जिसमें केवल संबंधित stage की contents और settings शामिल हैं
- इस scope में
gccयाclangcompiler और पूरा build toolchain शामिल है - फिलहाल इस scope को और बढ़ाने की कोई योजना नहीं है
Signature और verification method
- आधिकारिक binary packages पर stage जैसी ही key से cryptographic signatures लागू हैं
- signature key जानकारी Gentoo signatures में देखी जा सकती है
- Portage दो तरह के binary package formats संभालता है
- XPAK: पुराना format, signature support नहीं करता
- GPKG: नया format, cryptographic signatures support करता है
- सभी आधिकारिक Gentoo binary packages GPKG format में हैं
- GPKG packages के signatures verify किए जाते हैं
- verification fail होने पर installation अस्वीकार कर दिया जाता है
- default settings में पुराने binary packages के साथ compatibility के लिए unsigned XPAK packages भी install हो सकते हैं
- verified signatures को अनिवार्य करने के लिए
make.confमेंFEATURES="binpkg-request-signature"set करना होगा- इस स्थिति में केवल GPKG packages इस्तेमाल किए जा सकते हैं
Signature errors और self-made packages
- अगर signature verify न हो पाने की error आए, तो root के रूप में Gentoo Trust Tool
getutoचलाया जा सकता है- command example
getutoहै - यह Portage के लिए आवश्यक Gentoo Release Engineering keyring set करता है
- command example
- अगर
make.confमेंFEATURES="binpkg-request-signature"active है, तो binary package download से पहलेgetutoautomatic call होता है- यह key updates और revocations लाने के लिए होता है
- self-made binary packages को Portage reject कर सकता है
- यह
FEATURES="binpkg-request-signature"का side effect है - self-made packages के लिए signing key set करनी होगी और
/etc/portage/gnupgके anchors को उस key पर trust करना होगा
- यह
Mirrors, profiles और USE flag constraints
- download धीमा हो तो University of Oregon के बजाय local mirror का उपयोग recommended है
/etc/portage/binrepos.confकी URI edit करना पर्याप्त है- cryptographic signatures के कारण local mirror का इस्तेमाल भी सुरक्षित है
- profile defaults से अलग USE flag combinations इस्तेमाल करने पर संबंधित binary packages इस्तेमाल नहीं किए जा सकते
- Portage binary packages और locally compiled packages को mix करके उपयोग कर सकता है
- Gentoo का लक्ष्य पूरी तरह binary-only installation नहीं है
- packages merged-usr systems पर भी इस्तेमाल किए जा सकते हैं
- समस्या हो तो bug के रूप में report करना चाहिए
- अन्य पुराने या नए profile versions के साथ इन्हें उपयोग नहीं किया जा सकता
- इसी वजह से
src-uripath में17.1जैसी profile version शामिल होती है - नया profile version आने पर अलग नया package directory उपलब्ध कराया जाएगा
- इसी वजह से
~amd64 और issue reporting
~amd64binary packages उपलब्ध कराने की अभी कोई योजना नहीं है- इसके लिए कई rebuilds की जरूरत होगी
- उपलब्ध कराए भी जाएँ तो technical कारणों से अलग URI चाहिए होगा
- testing packages चाहिए हों तो stable को जितना संभव हो बनाए रखना और
package.accept_keywordsमें locally add करना recommended है- कई binary packages का उपयोग जारी रखा जा सकेगा
- बाकी को खुद compile करना होगा
- Portage या किसी specific package से जुड़ी समस्या हो तो IRC, forums, mailing lists पर सलाह ली जा सकती है या bug submit किया जा सकता है
- binary package support कुछ समय तक test किया गया है, लेकिन users बढ़ने पर edge cases आ सकते हैं
1 टिप्पणियां
Hacker News की राय
पहले ही साफ़ कर दूँ, मैं Gentoo का कट्टर फैन हूँ
Gentoo की अपील इस बात में नहीं है कि सब कुछ source से compile होता है, बल्कि इसकी शानदार documentation और बहुत कम बाधाओं के साथ लगभग किसी भी hardware पर अपनी पसंद की चीज़ install करने की आज़ादी में है
अगर आप 2008 के laptop पर Enlightenment + OpenRC + NetworkManager चलाना चाहते हैं, तो Gentoo install कर लीजिए; और अगर smart fridge के root filesystem में ZFS इस्तेमाल करना चाहते हैं, तो Gentoo से वह भी हो सकता है
नए laptop पर stock Gnome + SystemD चलाना चाहें, तो वह भी संभव है
binary packages देने का फैसला users को और ज़्यादा विकल्प देने के लिए है, जो दूसरी distributions द्वारा choice की freedom घटाने के उलट है
Debian खुद को “universal operating system” कहता है, लेकिन उसने 32-bit x86 support बंद कर दिया, और वैकल्पिक init systems install तो किए जा सकते हैं पर काफी झंझट के साथ
वहीं Gentoo आपको 17 से ज़्यादा stage 3 tarballs और 35 eselect profiles में से चुनने देता है
निजी तौर पर मुझे सब कुछ source से compile करना और उससे मिलने वाली flexibility पसंद है, और modern hardware पर यह बिल्कुल भी तकलीफ़देह नहीं है
अगर आप सहमत नहीं हैं, तो नए binary packages install कर सकते हैं
Gentoo का selling point Portage नहीं, बल्कि हमेशा flexibility और community रहा है
release team meeting में निष्कर्ष कुछ ऐसा था कि किसी अनिश्चित future में 32-bit x86 के लिए installer और kernel support खत्म होने की काफ़ी संभावना है
अभी दोनों अब भी उपलब्ध हैं और पूरी तरह supported हैं
खासकर 32-bit/64-bit multi-architecture का उपयोग जारी रखा जा सकता है, इसलिए 32-bit x86 software भी चलाया जा सकता है
हर कोई सब कुछ support करना चाहता है, लेकिन distribution के तौर पर security और maintenance की गारंटी देने के लिए आखिरकार manage किए जा सकने वाले resources सीमित होते हैं
कुछ चीज़ें छोड़नी ही पड़ती हैं
किसी भी Linux distribution में आप अपनी पसंद की चीज़ install कर सकते हैं, लेकिन वास्तव में support कह सकने का दायरा हमेशा maintainers की संख्या से सीमित रहता है
https://buildd.debian.org/status/package.php?p=base-files&su...
मुझे पता है क्योंकि मैं खुद Debian की कई कम-ज्ञात architectures को regular installation snapshots के साथ maintain करता हूँ
https://cdimage.debian.org/cdimage/ports/snapshots/
Debian में i386 और amd64 दोनों के लिए Hurd ports भी हैं
ऐसा भी नहीं था कि मैंने musl या clang profile इस्तेमाल किया हो
यही मेरा पहला impression रहा, इसलिए जब तक Gentoo या उसका कोई downstream fork installer नहीं देता, मैं इसे consider नहीं करूँगा
जल्द ही Solus OS / Solus Linux install करके देखने वाला हूँ; package manager का पहला impression अच्छा था, और वह nix या guix जैसा तरीका नहीं है, लेकिन reproducible होने का दावा करता है
मेरे लिए Gentoo की बड़ी अपील Portage है
यह सिर्फ़ build environment और dependency management से कहीं ज़्यादा देता है
Ebuilds, यानी Gentoo packages, build की अलग-अलग edge cases को handle करने वाले बेहतरीन tools और Eclass के support से लैस होते हैं
Ebuild develop करना किसी असली software project पर काम करने जैसा लगता है, और यह उन लोगों के लिए अच्छा है जो official repository में नहीं मौजूद packages के साथ experiment करना चाहते हैं
संयोग से मैंने अभी-अभी ebuild testing के लिए unprivileged chroot manage करने वाला tool भी release किया है
यह बदलाव Gentoo को बहुत से लोगों के लिए ज़्यादा accessible बना देगा, लेकिन शायद मेरे लिए नहीं है
मेरी build settings, जैसे CFLAGS, official binaries से कभी match नहीं करेंगी, इसलिए अंततः मैं इसे इस्तेमाल नहीं करूँगा
production environment में Gentoo इस्तेमाल करते समय, unused software के साथ features और integration हटाना security posture का अहम हिस्सा बन गया था
हालांकि मेरे पास हमेशा binaries बनाने के लिए dedicated build host रहा, Gentoo का binary support बहुत अच्छा नहीं था
compiled artifacts को HTTP या NFS के जरिए बिना signature के serve करना ही लगभग सब कुछ था
नए package format में cryptographic verification शामिल होगा, यह सुनकर सच में उत्साहित हूँ
भले ही यह सिर्फ़ internal use के लिए serve किया जाए, यह feature शुरू से होना चाहिए था
जब आप अलग से binrepo setup नहीं करना चाहते, खासकर जब cross-compilation शामिल हो, लेकिन फिर भी मौजूदा Portage settings और custom ebuilds reuse करना चाहते हों, तब यह उपयोगी है
ChromeOS bazel का उपयोग करके temporary chroot के अंदर ebuild चलाता है
https://chromium.googlesource.com/chromiumos/bazel/+/refs/he...
इससे यह guarantee की जा सकती है कि undeclared dependencies का इस्तेमाल नहीं होता
फिर भी plasma से जुड़े packages के लिए common binaries इस्तेमाल करने हेतु override script बनाने का मन हो रहा है
जिन चीज़ों में speed मायने रखती है, उन्हें खुद build करूँ और GUI-side packages binaries के रूप में ले लूँ, तो build time बहुत बच सकता है
नुकसान भी बहुत बड़ा नहीं लगेगा
मुझे अपने sandbox project के लिए ऐसी चीज़ की सच में बहुत ज़रूरत थी
Gentoo की अवधारणा के बारे में कोई कुछ भी कहे, 17 साल की उम्र में software packaging, distributed compilation, compile-time optimization की बारीकियाँ और Linux kernel optimization सीखने की प्रक्रिया सचमुच मज़ेदार थी
जहाँ तक याद है, community documentation भी काफ़ी अच्छा था
मेरे भेजे हुए कुछ patches शायद अभी भी कुछ releases में कहीं मौजूद हों
लेकिन जब मैंने देखा कि Slackware machine, Gentoo machine जितनी ही तेज़ चल रही है, तभी समझ आया कि तमाम tuning और optimization, और bleeding-edge software उतनी मेहनत के लायक नहीं थे
कुछ खास apps में, जैसे render farm या cryptocurrency miner, custom compilation और tuning मदद कर सकते हैं, लेकिन games में हर distribution पर वही FPS मिल रहा था
पहले lowest common denominator के लिए compile करने पर MMX या SSE तक शामिल नहीं होते थे, और CPU-bound कुछ algorithms में इससे बड़ा फर्क पड़ सकता था
लेकिन runtime पर CPU features detect करके सबसे बेहतर version चलाना भी हमेशा संभव था, इसलिए compile-time feature selection ही एकमात्र तरीका नहीं था
बाद में AMD Opteron आने पर सब एक नए baseline पर आ गए
amd64 के लिए compile करने का मतलब फिर से एक खास CPU था, और उस समय तक उससे नए instructions अभी थे ही नहीं
आज AMD64 के कई levels[1] हैं, जो SIMD जैसे खास workloads में मायने रख सकते हैं
एक ज़्यादा साधारण और अक्सर दिखने वाला उदाहरण v2 में जोड़ा गया popcnt है; bitset जैसी चीज़ों में अकेले यह अच्छा है, लेकिन मेरे projects में पूरे program performance के लिहाज़ से v1 और v3 के बीच फर्क मुश्किल से नापा जा सका
games के मामले में, शायद वे binary-only थे और पहले से lowest common denominator के हिसाब से compile किए गए थे, या runtime feature selection इस्तेमाल करते थे
ऊपर से ज़्यादातर वैसे भी GPU bottleneck रहे होंगे
[1] https://en.wikipedia.org/wiki/X86-64#Microarchitecture_level...
कुछ साल पहले न जाने क्यों, मैंने Gentoo system compile करने और उसे fine-tune करने में computer time और अपना time घंटों, बल्कि दिनों तक बर्बाद किया
जबकि अगले ही दिन आई नई Ubuntu CD install करने के लिए मुझे उसे format करना ही था
जो लोग कभी खुद kernel compile करते थे और अब नहीं करते, वे आज जिन चीज़ों में माहिर हैं, उसमें कम से कम कुछ योगदान इस बात का है कि उन्होंने कुछ समय के लिए वह सब किया था
एक बार कर लेने के बाद अब उसे न करना ही समझदारी है
“अगर मैं ज़्यादा समझदार होता तो उस पर समय बर्बाद नहीं करता” कहना, या नए लोगों का इसे उस तरह समझना, सही नहीं है
आखिरकार थककर Arch पर चला गया, और हमेशा टूटे हुए packages से लड़ाई किए बिना लगभग वही सब हासिल कर लिया
फिर भी random low-level issues से निपटते हुए जो knowledge मिली, वह आज भी लगातार काम आती है
फिर भी बहुत कुछ सीखा
आजकल Linux मुझे अपनी superpower जैसा लगता है
OS, VM, containers, Nix-shell, WSL2—सब Linux हैं
किसी भी command line में आ जाऊँ, कुछ हद तक BSD समेत, तो आराम महसूस करता हूँ और problem solve कर सकता हूँ
मुझे लगता है Gentoo के साथ बिताए अच्छे समय ने ही मुझे वहाँ तक पहुँचाया
CentOS में command-line player mpg123 चलाने के लिए भी पूरा X install करने की मांग होती थी, लेकिन Gentoo में mpg123 का X integration बंद किया जा सकता था
flags तो उसके ऊपर bonus थे
अब Debian install करता हूँ, रोज़ इस्तेमाल होने वाले कुछ programs डालता हूँ और बात खत्म
किसी दूसरी machine पर भी अपना setup 20 मिनट के अंदर फिर से बना सकता हूँ
2000s की शुरुआत में मैंने Gentoo काफी लंबे समय तक इस्तेमाल किया, और Linux machines के बारे में जो लगभग सब कुछ जानता हूँ, वह उसी अनुभव से सीखा
USE flags में दिलचस्प बात यह थी कि इससे पता चलता था कि कोई package दूसरी libraries या packages के साथ कोई खास integration रखता है
जब समझ आया कि SQLite3 binary अगर readline support के बिना link हो तो वह वैसा ही व्यवहार नहीं करती, तब मुझे कुल मिलाकर readline क्या है यह समझ आया
दूसरी Linux systems में हमेशा शामिल दिखने वाली अनगिनत libraries के बारे में ऐसा बार-बार हुआ
मेरी ज़िंदगी के सही समय पर मिला यह सचमुच एक बहुमूल्य learning tool था
थोड़ा अजीब लग रहा है
कई comments कह रहे हैं कि उन्होंने Gentoo इस्तेमाल किया है या पहले इस्तेमाल करते थे
लेकिन मैं अभी भी इसे daily driver और मुख्य server के तौर पर इस्तेमाल कर रहा हूँ
सोचता हूँ, ऐसा क्या अलग है कि Gentoo मेरे लिए सबसे अच्छा है
और binary packages चालू करने का मेरा इरादा नहीं है
GPD Win 4, coreboot वाले Pixelbook, NAS, VPS वगैरह हर device पर Gentoo चला रहा हूँ
वजहें मुझे ये लगती हैं
SystemD चाहिए तो इस्तेमाल करें, OpenRC चाहिए तो तुरंत इस्तेमाल करें
Gentoo में मुझे सुरक्षित और सहज महसूस होता है
क्योंकि मुझे पता है कि Linux में जिसे मैं सबसे ज़्यादा अहम मानता हूँ, उस freedom का Gentoo हमेशा सम्मान करेगा
Gentoo किसी choose-your-own-adventure किताब जैसा है
SystemD + Gnome + PulseAudio + binary packages इस्तेमाल करना चाहें तो कर सकते हैं, और OpenRC + Hyprland + Pipewire + netifrc की जगह NetworkManager इस्तेमाल करना चाहें तो भी कर सकते हैं
Gentoo सब कुछ compile करने वाला distro नहीं, बल्कि सब कुछ चुनने वाला distro है
यह announcement मेरे लिए relevant नहीं है, लेकिन users को ज़्यादा choices देता है
Gentoo भी अच्छा है, लेकिन NixOS system administrator के तौर पर जीना Gentoo system administrator से कहीं आसान है
जवाब देने पर बहस करने का इरादा नहीं है, सच में जिज्ञासा है
मेरे मामले में Gentoo मेरे लिए क्यों fit नहीं था, यह कहूँ तो मैं personal server नहीं चलाता और काम पर cloud servers इस्तेमाल करता हूँ
शायद Ubuntu-based या AWS-style होते हैं, लेकिन kernel compile नहीं करता
desktop पर 10 साल से भी पहले एक दोस्त ने समझाया था कि “यह तुम्हारे hardware के हिसाब से compile होगा, इसलिए तेज़ होगा”, तब मैंने Gentoo try किया था
install करके चलाने में बहुत समय बर्बाद किया, लेकिन मेरे किसी भी काम में यह साधारण Ubuntu से noticeably तेज़ नहीं था और setup में ही ज़्यादा समय लगा
इसलिए मैंने छोड़ दिया
और जो आम तौर पर सुनने को मिलता है कि “Gentoo configure करते हुए बहुत कुछ सीखा”, वह भी मेरे लिए सच नहीं था
ज़्यादातर लोगों की तरह मैंने recipes follow कीं, ऐसे flags set किए जिन्हें समझता नहीं था और config files छेड़ीं, तो सुरक्षित तौर पर कहूँ तो मैंने कुछ नहीं सीखा
बस procedure follow किया
बेशक, मेरा अनुभव ऐसा ही था
ठीक-ठीक नहीं जानता, लेकिन मैं भी इसे 20 साल से इस्तेमाल कर रहा हूँ
weekly छेड़े जाने वाले daily driver या server नहीं, बल्कि कोई device जिसे बहुत पहले setup किया और उसके बाद से लगातार चलता आया हो
यानी ऐसा system जिसमें साल में बस कुछ बार login किया जाता हो
अपना पहला “production” system बनाते समय मैंने Gentoo छोड़ दिया था
लोग उसे इस्तेमाल करने लगे थे, और इस मायने में वह “complete” था कि अब रोज़ या हर हफ्ते login करने की वजह नहीं बची थी
security updates मैं फिर भी चाहता था, और बहुत कम बार नए features के लिए नए packages की ज़रूरत पड़ती थी, लेकिन मूल रूप से मुझे stable system चाहिए था
Gentoo इस use case के लिए बेहद खराब fit था
personal desktop पर भी मैं weekly update करता था, और लगभग हर बार emerge build failure होता था; ऐसा system जिसे कई महीनों तक update न किया जाए, और भी खराब होगा
इसलिए Debian पर चला गया और अच्छा रहा
खासकर unattended upgrades अच्छा लगा, और आखिर में सभी machines Debian पर shift कर दीं
अगर आप Gentoo इस्तेमाल करते हैं, तो जानना चाहूँगा कि क्या ऐसी machines भी हैं जिन्हें weekly नहीं छेड़ते, कितनी बार update करते हैं, और updates पूरा करने के लिए कितनी बार manual intervention चाहिए होती है
बहुत कम, और 15 साल देर से
15 साल से ज़्यादा पहले Gentoo से FreeBSD पर जाने की एक वजह यह थी कि Gentoo में सब कुछ compile करना पड़ता था, जबकि FreeBSD binary packages देता था
आज यह इतना अहम नहीं हो सकता, लेकिन एक CPU core और 1GB RAM के दौर में यह game changer था
Gentoo लंबे समय तक इस्तेमाल करने के बाद मैं कुछ सालों के लिए macOS पर चला गया, और उस समय Gentoo prefix इस्तेमाल किया, जो Homebrew से कहीं बेहतर था
लगभग 10 साल पहले macOS के Gentoo prefix में upstream llvm चलाने के लिए मैंने patches जोड़े थे [1]
GSoC reunion event में आखिरकार एक ऐसा व्यक्ति मिला जो मुझे maintainer permissions देना चाहता था, लेकिन बात अंत तक नहीं पहुँची
उसने पहले ही चेतावनी दी थी कि यह काम जटिल होगा
मैं लगातार कहता रहा कि prefix को भी binaries चाहिए
सोचता हूँ कि अगर Mac पर Gentoo prefix Homebrew जितनी आसानी से packages install कर पाता, तो कैसा होता
दुखद है, लेकिन Gentoo इसका अच्छा उदाहरण है कि कोई technically superior open source project भी अगर बुनियादी end-user convenience को नज़रअंदाज़ करे और अच्छी governance न हो, तो inferior solutions को पछाड़कर survive नहीं कर सकता
मुझे लगता है कि opensolaris/illumos भी लगभग life support पर पहुँचने की वजह कुछ ऐसी ही है
ज़िम्मेदार लोग elitism से आगे नहीं बढ़ पाए, और community participation के लिए kernel build में समझ से बाहर makefile/shell spaghetti की 100 layers से सरल कुछ चाहिए, यह फैसला नहीं कर पाए
[1] https://github.com/fishman/timebomb-gentoo-osx-overlay/tree/...
Gentoo हमेशा niche Linux community के अंदर भी niche रहा है, फिर भी लगता है कि यह मज़े से चलता आ रहा है
इसमें समस्या क्या है?
यह सोचकर सिहरन होती है कि एक ही software को बार-बार बेवजह compile करने में कितना बिजली बिल और greenhouse gas निकली होगी
Gentoo भी Red Hat या Ubuntu जितना व्यापक रूप से इस्तेमाल नहीं हुआ
ऊपर से, अगर computer वैसे भी चालू था, तो CPU power usage rotary HDD या monitor वगैरह के मुकाबले rounding error जैसा ही है
कुछ लोग kilowatt-class gaming PC पर दिन में 12 घंटे game खेलते हैं, या track पर कार चलाते हैं, या बहुत fuel खाने वाली boats में घूमते हैं
Gentoo को शानदार बनाने वाली बात यह है कि इसे शुरुआत से ही इस तरह design किया गया है कि मैं अपने system में चाही गई छोटी-सी tweak आसानी से जोड़ और maintain कर सकूं
मैंने जितनी भी दूसरी distributions इस्तेमाल की हैं—सारी major distributions और कई छोटी distributions—वे default state में ज़्यादा अच्छा काम करती लगती हैं, लेकिन तय रास्ते से हटते ही भारी तकलीफ शुरू हो जाती है
अच्छी तरह tuned Gentoo system बस अच्छे से चलता है™
यहां “अच्छे से चलता है” का आपके लिए व्यक्तिगत तौर पर जो भी मतलब हो, उससे फर्क नहीं पड़ता
यह Arch के upstream को overwrite करने का फैसला लेने पर होने वाला python 2to3 name collision हो सकता है, या SystemD द्वारा kernel mode में बहुत सारे गैर-जरूरी काम करने से पैदा होने वाली system core latency problem हो सकती है
इसकी कई कमियों के बावजूद मैं Gentoo का बहुत संतुष्ट user हूं
upstream binary packages उस freedom का बस एक और extension हैं
कुछ major projects के binary versions पहले से थे, या आप अपना build server बना सकते थे, लेकिन अगर और binaries आसानी से इस्तेमाल किए जा सकें, तो हर छोटी चीज़ build करने के भारी time burden के बिना कहीं ज़्यादा लोग इसका फायदा उठा पाएंगे
अगर किसी खास package के लिए ज़्यादा flexibility चाहिए—जैसे patches या use flags—तो वह अब भी संभव है और maintain करना भी आसान है
यह बड़ी जीत है
एक समय Gentoo के लिए वाकई सही दौर था, जब वह बेहद smooth चल रहा था
useflag न बहुत ज़्यादा थे, न बहुत कम, और वे दिन थे जब सर्दियों की ठंडी रातों में dorm room बहुत ठंडा होने पर Open Office को फिर से compile किया जाता था
यह बात प्यार से कह रहा हूं