- Gentoo का मूल मूल्य केवल compilation performance नहीं, बल्कि source build से मिलने वाली flexibility और उपयोगकर्ताओं के लिए बनाई गई distribution होने के दर्शन में है
- यह किसी company या business model के बिना संचालित होता है, और Gentoo Foundation को भंग कर SPI में स्थानांतरित करने से वित्तीय governance bottleneck और dependency risk कम करने की कोशिश की जा रही है
- समर्पित security team, अपना infrastructure, OpenPGP-सुरक्षित distribution channels, और सख्त QA policies के जरिए पुराने dependencies, static linking, और bundled dependencies जैसी समस्याओं से निपटा जाता है
- source-first संरचना और USE flags features, libraries, init system, libc, और build methods चुनने की सुविधा देते हैं, लेकिन जिन विकल्पों का रखरखाव नहीं होता वे सीमित हो सकते हैं
- rolling release मॉडल, stable और experimental configurations का सह-अस्तित्व, पुराने hardware का समर्थन, developer-friendly प्रकृति, और telemetry हटाने की प्रवृत्ति—ये सब उपयोगकर्ताओं का सम्मान करने के तरीके से जुड़े हैं
Gentoo की मूल पहचान
- Gentoo को अक्सर “हर चीज़ compile करने वाली distribution” के रूप में जाना जाता है, लेकिन इसे केवल performance की खोज या अत्यधिक optimization से समझाना मुश्किल है
- CPU और compiler optimization, तथा सामान्य distributions की package optimization में प्रगति के कारण, औसत Ubuntu package और CPU के अनुरूप बनाए गए Gentoo package के बीच performance का अंतर व्यवहारिक रूप से बहुत बड़ा न भी हो
- Gentoo का अधिक महत्वपूर्ण मूल्य source build से मिलने वाली flexibility में है, और इस बात में कि यह Gentoo को पसंद करने वाले लोगों द्वारा अपने लिए बनाई गई distribution है
स्वतंत्रता
- Gentoo के पीछे कोई company या business model नहीं है, इसे Gentoo के मूल्यों के प्रति समर्पित लोग बनाते और चलाते हैं
- कुछ लोग अपने काम के हिस्से के रूप में Gentoo से जुड़े हैं, लेकिन अधिकांश स्वयंसेवक हैं और लाभ के बजाय उत्साह से काम करते हैं
- infrastructure का कुछ हिस्सा दान में मिला है और कुछ दानराशि से चलता है, और किसी एक donor पर निर्भर न रहकर यह सुनिश्चित किया जाता है कि कोई एक पक्ष Gentoo को नियंत्रित न कर सके
- प्रत्यक्ष वित्तीय governance के bottleneck बनने के जोखिम को कम करने के लिए Gentoo Foundation को भंग कर SPI में ले जाने की प्रक्रिया जारी है
सुरक्षा
- Gentoo package security को गंभीरता से लेता है, और कभी-कभी upstream से पहले ही patches को backport करता है
- समर्पित security team समस्या tracking, समाधान, और user advisories की ज़िम्मेदारी संभालती है
- hijack risk कम करने के लिए अपना infrastructure बनाए रखा जाता है, और distribution channels तथा mirrors को OpenPGP से सुरक्षित किया जाता है
- Codeberg और GitHub का उपयोग केवल वैकल्पिक mirrors और contribution channels के रूप में किया जाता है, ताकि Gentoo किसी एक पर निर्भर न हो
- सख्त QA policies bundled dependencies, static linking, और pinned dependencies जैसी प्रथाओं के प्रति आलोचनात्मक रुख रखती हैं
- बहुत पुराने dependencies जैसे स्पष्ट खतरों को रोकने की कोशिश की जाती है
इंसानों द्वारा बनाई गई distribution
- Gentoo ने 2 साल पहले LLM contributions पर प्रतिबंध लगाया था, और वह अब भी उस निर्णय पर कायम है
- यह 100% गारंटी नहीं दी जा सकती कि कोई contaminated code कभी नहीं आया, लेकिन भरोसा और सतर्कता को community का आधार माना जाता है
- भले ही upstream वही रुख न अपनाए, लेकिन नया और सुरक्षित software उपलब्ध कराने की ज़िम्मेदारी के कारण LLM-आधारित software को Gentoo में package होने से पूरी तरह रोका नहीं जा सकता
- copywashed chardet या vibe-coded cryptography software जैसे गंभीर मामलों को यथासंभव रोका जाता है
स्थिरता
- Gentoo शुरुआत के लिए सबसे आसान distribution नहीं है, लेकिन setup पूरा होने के बाद यह चौंकाने वाली स्थिरता दे सकता है
- समस्या आने पर भी अक्सर system को reinstall किए बिना ठीक किया जा सकता है
- package tree किसी package के केवल एक version पर बंधा नहीं होता, इसलिए अगर नया version ठीक न बैठे तो downgrade करना संभव होता है
- भले ही वह version Gentoo से हट चुका हो, उसे अपेक्षाकृत आसानी से वापस लाया जा सकता है
- rolling release distribution होने के कारण यह कई distribution versions में बंटा नहीं है, और अगली release पर समय-समय पर जाने की ज़रूरत नहीं पड़ती
- उपयोगकर्ता चुन सकते हैं कि वे नए packages आते ही अपनाना चाहते हैं या तैयारी की पुष्टि के बाद update होने वाला stable environment चाहते हैं
- demize @ unstable.systems ने कहा कि
ACCEPT_KEYWORDS="~amd64", LLVM profile, mold system linker, और full LTO जैसी experimental configuration में भी उन्हें अन्य desktop Linux से अधिक स्थिर अनुभव मिला
लचीलापन
-
source-first distribution
- Gentoo का default installation तरीका source build है, लेकिन इसका मतलब यह नहीं कि उपयोगकर्ता को dependencies खुद ढूँढकर build commands हाथ से जोड़नी पड़ें
- package manager आवश्यक चरणों और उससे आगे के काम संभालकर package installation को आसान बनाता है
- source build इस बात पर अधिक सूक्ष्म नियंत्रण देता है कि package में कौन-से features हों और वह किस तरह build हो
- अनावश्यक features हटाने से performance सुधर सकती है और attack surface कम हो सकता है, और RSS reader या mail client को vulnerable web browser components के बिना भी build किया जा सकता है
-
libraries और build process पर नियंत्रण
- source compilation उपयोगकर्ता को Gentoo builder द्वारा इस्तेमाल किए गए किसी एक library combination तक सीमित नहीं करती
- इससे किसी खास library के पुराने version को बनाए रखना, नया version इस्तेमाल करना, या पूरी तरह अलग implementation चुनना संभव हो सकता है
- आधिकारिक support की सीमा और वास्तविक रूप से काम करने की सीमा अलग हो सकती है, लेकिन pure binary distributions की तुलना में संभावित combinations कहीं अधिक हैं
- support सीमा से बाहर जाने पर भी patches लगाना या build process समायोजित करना अपेक्षाकृत आसान रहता है
-
विकल्पों की सीमा और सीमाएँ
- Gentoo को कभी-कभी “choice की distribution” कहा जाता है, लेकिन हर विकल्प को हमेशा बनाए रखना संभव नहीं है
- OpenRC और systemd, glibc और musl जैसे मामलों में व्यावहारिक विकल्प दिए जा सकते हैं
- किसी विकल्प को बनाए रखने के लिए किसी का सक्रिय समर्थन ज़रूरी होता है, वरना वह आधा-टूटा system बन सकता है
- LibreSSL और OpenSSL, libav और ffmpeg जैसे मामलों में maintenance cost बहुत अधिक होने के कारण विकल्प छोड़ने पड़े
- जब Qt ने upstream स्तर पर LibreSSL support अस्वीकार कर दिया, तो LibreSSL को बनाए रखना और कठिन हो गया
-
defaults और वैकल्पिक customization
- Gentoo के अधिकांश विकल्प opt-in रूप में दिए जाते हैं
- जिन लोगों को flexibility चाहिए उन्हें यह मिलती है, जबकि बाकी के लिए अच्छे defaults बनाए रखने की कोशिश होती है
- उपयोगकर्ता केवल अपनी रुचि के हिस्से customize करके भी अच्छा अनुभव पा सकते हैं और बाकी defaults पर छोड़ सकते हैं
- charon @ hachyderm.io ने इस बात की सराहना की कि अलग-अलग architectures, libc, init systems, package patches, feature sets, और display stacks को एक ही OS में संभालकर up-to-date रखा जा सकता है
- Josh @ babka.social ने इसे लाभ बताया कि पूरी तरह headless system या मनचाहा graphics stack किसी अलग installation प्रक्रिया के बजाय एक साधारण config file से सेट किया जा सकता है
आनंद और प्रयोग
- Gentoo का लक्ष्य केवल काम पूरा करना नहीं, बल्कि उपयोगकर्ताओं को एक कदम आगे बढ़कर प्रयोग करने का अनुभव देना भी है
- अगर आप नवीनतम development software आज़माना चाहते हैं, तो अक्सर upstream की stable, testing, और development branch versions उपलब्ध होती हैं
- कई packages में upstream repository से सीधे build करने वाले live ebuild होते हैं, जिनसे केवल नवीनतम development branch को unmask करके परीक्षण किया जा सकता है
- सामान्य GNU/Linux system से आगे बढ़कर musl, GNU Hurd, LLVM-आधारित toolchain, FreePG, Sequoia, Samurai, libarchive tar/cpio, और वैकल्पिक awk implementations तक का प्रयोग किया जा सकता है
- ये प्रयोग स्थिरता के विरोध में नहीं हैं; stable या
~arch packages को आधार बनाकर केवल कुछ हिस्सों को नया रखा जा सकता है या जहाँ ज़रूरी हो वहाँ LTS branches पर स्थिर रहा जा सकता है
स्थायित्व
- भले ही कई उपयोगकर्ता source से build करते हों, Gentoo computing की sustainability की दिशा में काम करता है
- यह एक ही package की अलग-अलग configurations के लिए व्यापक binary package support देता है
- उपयोगकर्ता अपनी ज़रूरत के अनुरूप आधिकारिक binary packages इस्तेमाल कर सकते हैं, और उपयुक्त न होने पर source build पर लौट सकते हैं
- कई targets के लिए आधिकारिक packages इस्तेमाल किए जा सकते हैं, और अलग से या system installation के दौरान सीधे binary packages बनाकर भी उपयोग किए जा सकते हैं
- पुराने या कम प्रचलित hardware के लिए व्यापक support देने की कोशिश की जाती है, और ऐसे hardware पर भी चलने वाले systems उपलब्ध कराने का प्रयास होता है जिन्हें Rust या V8 support नहीं करते
- किसी commercial vendor द्वारा लाभहीन मानकर support छोड़ दिए गए computers को फेंकने के बजाय, थोड़ा कठिन होने पर भी उन्हें उपयोग में बनाए रखना बेहतर माना जाता है
डेवलपर-अनुकूलता
- Gentoo में हर चीज़ source से build होने के कारण उपयोगकर्ता development environment के बहुत करीब रहते हैं
- package install करने के लिए पूर्ण toolchain चाहिए, और packages को “runtime” तथा “development” हिस्सों में बाँटने का तरीका Gentoo में बहुत मायने नहीं रखता
- Gentoo में अच्छा development environment अक्सर डिफ़ॉल्ट रूप से उपलब्ध होता है
- नीति के तौर पर package patches को नापसंद किया जाता है और जहाँ संभव हो उनसे बचा जाता है, ताकि packages upstream के अनुरूप रहें और Gentoo में विकसित software सही तथा portable बने
- Gentoo उन कुछ distributions में से एक है जो bzip2 package में non-standard
pkg-config file नहीं जोड़ती
- Gentoo पर development करने से उस सामान्य गलती से बचा जा सकता है जिसमें ऐसा package वितरित कर दिया जाता है जो उसी non-standard file की अपेक्षा करता है
- Gentoo उन कुछ distributions में से एक है जो कई Python versions को सक्रिय रूप से support करती हैं; केवल किसी एक Python version का चयन ही नहीं, बल्कि कई Python versions के लिए packages एक साथ install करना भी संभव है
- चूँकि Gentoo की अनेक configurations मौजूद हैं, end-user testing महत्वपूर्ण है, और package build के दौरान test suites चलाना आसानी से configure किया जा सकता है
- rayslava @ mitra.do.rayslava.com ने कहा कि USE flags apps को कई combinations में configure करने का सबसे अच्छा तरीका हैं, और Portage ने corporate rpm packages को भी बिना समस्या
emerge के साथ इस्तेमाल करने दिया
- उसी उपयोगकर्ता ने कहा कि वह
pycargoebuild के साथ Rust infrastructure को बिना अलग tools या environments के maintain कर रहे हैं, और 2004 से Gentoo इस्तेमाल कर रहे हैं क्योंकि उन्हें इससे बेहतर कुछ नहीं मिला
मददगार distribution
- Gentoo development machines, gaming PCs, साधारण terminals, servers और कई अन्य use cases के लिए उपयोगी system देने की कोशिश करता है
- Free Software Foundation के नज़रिए से Gentoo को अच्छा distribution नहीं माना जा सकता क्योंकि इसमें proprietary software install करना बहुत आसान है
- साथ ही केवल free software बनाए रखना भी उतना ही आसान है, और default रूप से free software ही दिया जाता है
- Linn @ mastodon.social के अनुसार, Gentoo का license approach package स्तर पर अनुमत licenses चुनने देता है और defaults को free software पर रखता है, जिससे proprietary software install करने से पहले license की जाँच करनी पड़ती है
- Gentoo खोजे गए bugs को upstream को report करने और मिलकर ठीक करने की नीति बनाए रखता है
- Gentoo का मानना है कि केवल builder पर pass कराने वाले अस्थायी workaround पर्याप्त नहीं हैं; ऐसा समाधान चाहिए जो सभी के लिए काम करे
- यह portability और fringe platform support जैसी जटिल समस्याओं से निपटता है, और उन platforms तक को ध्यान में रखता है जिन्हें अधिकांश distributions support नहीं करतीं
- danzin @ mastodon.social के अनुसार, भले ही कोई Gentoo user न हो, Gentoo द्वारा upstream projects में समस्याएँ ढूँढना, report करना, और fix करना Python ecosystem आदि में compatibility और stability बनाए रखने के लिए महत्वपूर्ण है
- Gentoo documentation को अतीत में Linux distributions में सर्वश्रेष्ठ माना जाता था, और आज भी इसे काफ़ी अच्छा समझा जाता है
- Gentoo का उपयोग करते हुए अक्सर system installation, ebuild लिखने,
/etc/portage/patches में छोटे बदलाव करने, semi-official overlays में योगदान देने, और upstream bug submissions तक की यात्रा होती है, जिससे computing के बारे में गहराई से सीखने को मिलता है
- anton @ icosahedron.website के अनुसार, Gentoo Handbook का पालन करने योग्य चरणों से शुरू होकर computing के गहरे क्षेत्रों तक एक सहज learning curve देता है, जहाँ हर चरण छोटा है और सीखने का अवसर बनता है
उपयोगकर्ताओं का सम्मान करने का तरीका
- Gentoo की कई दिशाएँ अंततः उपयोगकर्ताओं के सम्मान की ओर जाती हैं
- यह उपयोगकर्ता को यह अत्यधिक निर्देश नहीं देता कि system कैसे इस्तेमाल करना चाहिए
- support की व्यावहारिक सीमाएँ और गंभीर टूट-फूट से बचाने वाले safeguards मौजूद हैं, लेकिन अंतिम निर्णय उपयोगकर्ता का होता है
- उपयोगकर्ता support सीमा से बाहर के विकल्प चुनें तो भी Gentoo जानबूझकर उस use case को तोड़ने की कोशिश नहीं करता, हालांकि यह गारंटी भी नहीं देता कि वह अनजाने में नहीं टूटेगा
- Markus Osterhoff @ troet.cafe ने कहा कि
su से user ID बदलने पर system वैसा ही काम करता है जैसा कहा गया, और vim से config तथा less से logs पढ़ पाना ऐसा लगता है जैसे आपको एक वयस्क की तरह treat किया जा रहा हो
- Ilya Shchepetkov @ social.treehouse.systems ने Gentoo का लाभ इस नियंत्रण-भावना को माना कि system वह काम नहीं करता जो उपयोगकर्ता ने configure नहीं किया
- installation process यह दिखाता है कि कोई जादू नहीं है, और अगर boot अचानक fail भी हो जाए तो system के भीतर कुछ भी ठीक किया जा सकता है—ऐसा आत्मविश्वास देता है
- Gentoo अच्छे defaults और स्थिर अनुभव देने, security बनाए रखने, लोगों के काम का सम्मान करने, और LLM पर निर्भर न रहने की कोशिश करता है
- Gentoo उपयोगकर्ता की privacy को “value assessment” की वस्तु की तरह नहीं, बल्कि सम्मान की चीज़ की तरह देखना चाहता है, और Gentoo कैसे इस्तेमाल हो रहा है इस पर telemetry आज भी एकत्र नहीं करता
- packages में telemetry मिलने पर उसे default रूप से हटाने की कोशिश की जाती है, और यदि उपयोगकर्ता चाहें तो upstream default वापस लाने के लिए USE flag देने की कोशिश की जाती है
- Gentoo अपने आसपास एक मित्रवत और स्वागतपूर्ण community बनाना चाहता है, और ऐसा system बनना चाहता है जिसका उपयोग आनंददायक हो और जो उपयोगकर्ताओं को धोखा न दे
- यह सामग्री “how Gentoo is perceived by people” Fediverse thread में आए जवाबों से काफी प्रेरित है, और यहाँ उनमें से केवल कुछ ही उद्धृत किए गए हैं
1 टिप्पणियां
Lobste.rs राय
मैंने 2019~2022 के बीच Gentoo इस्तेमाल किया था, और उसका असर मेरे ऊपर अच्छाइयों और कमियों के मिले-जुले अनुभव के रूप में रहा
एक तरफ, लेखक ने जिस मज़े की बात की है, वह सचमुच था। यह ऐसा ऐप नहीं था जो कुछ क्लिक में इंस्टॉल हो जाए; बल्कि अच्छी तरह लिखी गई गाइड के अनुसार चुनाव करना और distro को अपनी पसंद के हिसाब से ढालना, इससे यह एहसास होता था कि मैंने अपना सिस्टम खुद बनाया है
यह देखना भी अच्छा लगता था कि गैर-ज़रूरी चीज़ें हटाकर, usability को नुकसान पहुँचाए बिना इसे कितना हल्का बनाया जा सकता है, और kernel को खुद configure करना भी दिलचस्प था। लेकिन recovery USB या backup न हो तो kernel configuration Gentoo का सबसे बड़ा जाल बन सकता है
march=nativeके अलावा मैंने कोई खास tuning नहीं की थी, फिर भी उस समय आज़माए गए दूसरे distros की तुलना में यह काफ़ी ज़्यादा फुर्तीला लगा। मैंने benchmark नहीं किया था, इसलिए बहुत ज़ोर देकर कहना मुश्किल है, लेकिन इसने मेरे कॉलेज के दिनों के पुराने T440p को काफ़ी आरामदेह बना दिया थादूसरी तरफ, अक्सर ऐसा लगता था कि मैं सिस्टम से लगातार लड़ रहा हूँ। build time की तो उम्मीद थी, लेकिन
emergeखुद package lookup करते समय या complex dependencies इंस्टॉल करते समय भी बेहद धीमा लगता था, यहाँ तक कि चिंता होने लगती थी कि कहीं PC अटक तो नहीं गया या मैंने कुछ ग़लत तो नहीं कियाUSE flags में documentation की कमी होती थी या अनपेक्षित side effects निकल आते थे, जिससे झुंझलाहट भरी debugging करनी पड़ती थी। कभी किसी एक flag को on करने पर app चलता ही नहीं था, और ऊपर से कोई दूसरा flag भी on करना पड़ता था जो देखने में उससे असंबंधित लगता था। यह भी अजीब लगता था कि ऐसी चीज़ें base package manager में integrated नहीं थीं, बल्कि वेबसाइट या
equeryसे खोजकरflaggieसे सेट करनी पड़ती थींkernel configuration ऐसा कौशल था जिसे समय देकर सीखना पड़ता था, लेकिन उस समय मुझे जो guides मिलीं, वे बुनियादी स्तर से आगे ज़्यादा मददगार नहीं थीं। अब Gentoo में binary kernel मौजूद है, इसलिए manual configuration से बचा जा सकता है, लेकिन तब ऐसा लगता था कि या तो बारूदी सुरंगों वाले मैदान में चलो, या फिर बहुत समय लेने वाला फूला-फूला kernel build करो
qt-webkitधीमी मशीनों के लिए आफ़त था। सिर्फ़ इस एक package की वजह से, हर बार असली install/update समय के ऊपर 2~3 घंटे की अतिरिक्त compilation जुड़ जाती थी। Gentoo के source-first distro होने के हिसाब से यह कोई defect नहीं है, लेकिन end user के नज़रिए से यह काफ़ी दर्दनाक थाआखिर में, Gentoo बिल्कुल भी ऐसा सिस्टम नहीं था जिसे अचानक जरूरत पड़ने पर सहजता से इस्तेमाल किया जा सके। कुछ चाहिए हो तो compile होने का इंतज़ार करने का समय होना चाहिए था, और बड़े apps को इधर-उधर बदलकर आज़माना व्यावहारिक रूप से मुश्किल लगता था। कई बार मैं PC को रातभर चालू नहीं छोड़ सकता था, इसलिए या तो सारी processing power compilation में झोंककर PC बेकार कर दूँ, या एक core खाली छोड़कर धीमे सिस्टम और लंबी compilation का समझौता करूँ
आखिरकार पढ़ाई वाले PC पर इसे लगातार सँभालने का समय नहीं था, इसलिए मैं Arch पर लौट गया, लेकिन Gentoo के लिए सम्मान बहुत बचा रहा। इसने मुझे यह बिल्कुल अलग नज़रिया दिया कि distro कैसे काम कर सकता है, और मैंने इसकी अंदरूनी कार्यप्रणाली के बारे में बहुत कुछ सीखा। यह लेख पढ़कर अपने अनुभव याद आ गए और nostalgia महसूस हुई; और अब जब सुनता हूँ कि इसकी कई खुरदुरी चीज़ें सुधर गई हैं, तो शायद कभी फिर से आज़माऊँ
Gentoo is Rice
पहले मैं Raspberry Pi B पर Funtoo भी चलाता था, और 2, 3, 4 या 5 नहीं बल्कि उसी मॉडल पर यह काफ़ी मज़ेदार था
मेरी पहली Gentoo मशीन dual CPU Xserve G4 थी और उसमें 2GB RAM था। boot होने वाला kernel बनाने के लिए बार-बार rebuild करते-करते असली सिस्टम boot होने में लगभग एक हफ़्ता लग गया था
Gentoo से सबसे ज़्यादा दूर करने वाली चीज़ यही थी कि इसे अचानक जरूरत पड़ने पर इस्तेमाल करना मुश्किल था। मैंने audio work के लिए Audacity इंस्टॉल करनी चाही, और देखते-देखते कई घंटे निकल गए। कंप्यूटर काम करवाने के लिए होता है; कभी-कभी maintenance नहीं, बस इस्तेमाल करना होता है
काम करते-करते flow टूट जाता था और फिर compilation का इंतज़ार करना पड़ता था
धीमी मशीन पर मेरी आफ़त
webkit-gtk2था। वजह यह थी कि Gnucash उसे सिर्फ़ graph दिखाने के लिए इस्तेमाल करता था, फिर भी dependency बहुत मज़बूत थी। पुराने ThinkPad पर Firefox भी जैसे हमेशा-हमेशा compile होता रहता था, और LibreOffice मिलकर compilation horror की तिकड़ी बना देते थेइस image को सामान्य फ़ाइल की तरह hard disk पर रखा जा सकता है और GRUB loopback से सीधे boot किया जा सकता है, और उस एक ISO के अंदर ही git, make, cc, rust, cmake, autotools जैसी लगभग पूरी development environment मौजूद होती है
NixOS ISO से live boot करके इसी तरह का utility setup पाने के लिए मुझे लगभग 40~50GB disk चाहिए थी। Gentoo को latest पर लाना भी एक बार ISO download करने जितना आसान है, और 2GB RAM वाले पुराने laptop पर भी यह बहुत तेज़ boot होता है, इसलिए मैं इसे संतोष के साथ इस्तेमाल कर रहा हूँ
मुझे Gentoo पसंद है। इसकी मुख्य खूबियों में से एक यह है कि यह rolling release distro है
मेरे पास एक server था जो 15 साल तक लगातार चला, और उसमें Gentoo था। अगर provider नहीं बदला होता तो शायद अब भी चलता। image migrate करने की तुलना में नया install करना आसान था
Debian या Fedora में मुझे ऐसी किस्मत नहीं मिली। अगर किसी library या app का ऐसा version चाहिए होता जो पहले से किसी खास version के लिए package नहीं किया गया हो, तो दोनों में काफ़ी झंझट होती थी, और upgrade के बाद भी कुछ-न-कुछ टूट जाता था जिससे downtime साफ़ नज़र आता था
मेरा personal server 17 साल पुराना है। VM provider के मामले में किस्मत अच्छी रही, इसलिए यह लगातार अच्छे uptime के साथ चलता रहा, और 17 साल में कुल downtime शायद एक दिन के आसपास ही रहा। मूल रूप से यह सिस्टम इसलिए बनाया था क्योंकि घर के IP से email hosting करना व्यावहारिक रूप से मुश्किल हो गया था
मेरा desktop system 2008 से चल रहा है, यानी लगभग 18 साल। उसी समय मैं 64-bit userspace पर गया था, और उसके बाद image दोबारा बनाने की न तो ज़रूरत महसूस हुई, न इच्छा। मूल hardware में Datahand keyboard को छोड़कर कुछ नहीं बचा, लेकिन यह Theseus के जहाज़ की तरह धीरे-धीरे बदलता गया
मेरे लिए Gentoo का मतलब है पारदर्शिता, चुनाव, और लचीलापन। मेरे भीतर हमेशा एक मज़बूत भावना रही है कि मैं चाहता हूँ कंप्यूटर कैसे काम करे, और Gentoo उसे साकार करने के लिए एक बेहतरीन tool रहा है
मैं अपने मुख्य development machine पर लगभग 15 साल से Gentoo इस्तेमाल कर रहा हूँ, और Debian unstable से इस पर आया था
सच कहूँ तो मैं यह ठीक-ठीक नहीं बता सकता कि मैं इसे क्यों इस्तेमाल करता हूँ और क्यों पसंद करता हूँ, लेकिन आखिर में बात बस इतनी है कि यह अच्छी तरह काम करता है और इसे बदलने की ज़रूरत महसूस नहीं होती
कुछ छोटी-मोटी असुविधाएँ हैं।
~amd64इस्तेमाल करें तो नया software मिल जाता है, लेकिन libreoffice जैसे binary package इस्तेमाल नहीं कर सकते और compile होने में थोड़ा समय लग सकता हैकभी-कभी
emergeअटक जाता है और उसे ठीक करना पड़ता है, लेकिन यह अनुभव Debian sid केaptसे बहुत अलग नहीं हैजो बात सच में प्रभावशाली है, वह है package maintainer और पूरी community की responsive nature, technical capability, और समस्या सुलझाने की इच्छा। मैं सलाह दूँगा कि ज़िंदगी में कम-से-कम एक बार bugs.gentoo.org पर कुछ submit करके देखें
मैंने Chimera आज़माने के बारे में सोचा था, लेकिन अभी तक सिर्फ सोचा ही है, किया नहीं
पहले मैं BOINC चलाने वाली एक production service में Gentoo इस्तेमाल करता था
PHP, Perl, Apache जैसे package को कुछ खास flags के साथ compile करना पड़ता था, जो Fedora repository में default रूप से उपलब्ध नहीं थे, और पिछला sysadmin सब कुछ manually compile करके छोड़ गया था और फिर update भी नहीं किया था। इस स्थिति में Portage कहीं बेहतर समाधान था
मैं अपने मुख्य desktop पर Gentoo 14 साल से इस्तेमाल कर रहा हूँ, और बिना reinstall किए उसी system को, जो मैंने तब बनाया था, अलग-अलग computers में ले जाकर आज तक चला रहा हूँ। निश्चित रूप से recommend करने लायक है। बहुत मज़बूत है
उस समय मेरा Linux experience सिर्फ कुछ महीनों का था और मैं सीधे Ubuntu से इस पर आ गया था, लेकिन installation process से ही मैंने बहुत कुछ सीखा। यह बेहतरीन documentation की वजह से संभव हुआ, और इस hands-on approach की वजह से सालों में Linux की मेरी समझ बहुत गहरी हो गई
compiled system upgrade कम load पर background में चलाए जा सकते हैं, और यह binary-based system की तुलना में कहीं ज़्यादा stable है। खास तौर पर
crossdevजैसे tools आकर्षक हैं, जो एक ही command से custom cross-compilation toolchain बना देते हैंइन सालों में Gentoo ने मुझे कभी निराश नहीं किया। अगर आपने अभी तक इसे नहीं आज़माया है, तो ज़रूर देखना चाहिए
यह सब बहुत अच्छे लक्ष्य लगते हैं, और project भी शानदार है। Gentoo इस्तेमाल किए हुए मुझे कई दशक हो गए हैं, लेकिन आज भी वह याद अच्छी लगती है जब मैंने रात भर PC को कुछ compile करने के लिए छोड़ दिया था और सुबह देखा कि dependency नहीं मिलने के कारण वह लगभग 80% पर fail हो गया था। उस वक्त बिल्कुल मज़ा नहीं आया था, लेकिन अब वह याद प्यारी लगती है
शायद इसे एक बार फिर इस्तेमाल करना चाहिए। अगर “Gentoo aims to be fun” है, तो यह सच में मज़ेदार हो सकता है
एक तरफ computers अब इतने powerful हो गए हैं कि ज़्यादातर package जल्दी compile हो जाते हैं। दूसरी तरफ अब भी कुछ ऐसे दैत्य हैं जो machine को थका सकते हैं, खासकर C++ वाले दैत्य
मैं CI server पर Gentoo performance की वजह से नहीं, बल्कि इसलिए इस्तेमाल करता हूँ क्योंकि किसी खास package पर patch लगाना या उसे किसी खास flags के साथ फिर से build करना बेहद आसान है। बस उसे
/etc/portage/packagesमें डाल दीजिए, काम हो गयाआज भी मुझे याद आता है कि Portage कितना अच्छा था। parallel install, समझ में आने वाले error message, ऐसा ढाँचा जिसमें user सिर्फ
/etc/portage/की सही subdirectory में file रखकर patch कर सकता था, build sandbox, configurability वगैरह बहुत अच्छे थेलेकिन एक समय के बाद मैं compile होने का इंतज़ार नहीं करना चाहता था। बड़े package binary package के रूप में मिलने लगे तब भी यही महसूस हुआ
::gentooकी लगभग हर चीज़ के लिए binary package उपलब्ध हैं, इसलिए स्थिति काफ़ी अच्छी हैहालांकि USE flags बदलना शुरू करते ही अब भी खुद build करने पर लौटना पड़ता है
लगभग 20 साल पहले, जब मैं हाई स्कूल में था, तब पहली बार Gentoo से सामना हुआ। मैंने एक senior से कहा कि मैं Linux सीखना चाहता हूँ, तो उसने कहा कि stage1 से Gentoo install करो
उसकी एकमात्र सलाह थी कि शुरू करने से पहले handbook print कर लो। क्योंकि अगर installation बिगड़ गई, तो जेब में browser नहीं होगा
मुझे बिल्कुल पता नहीं था कि मैं किस चीज़ में पड़ रहा हूँ। लगभग 2 हफ्तों तक घर का PC practically ठीक से काम नहीं कर पाया। हर रात installation से जूझता था, अगले दिन स्कूल जाकर वहाँ के computers पर documentation पढ़ता था, senior से पूछता था कि मैंने क्या बिगाड़ दिया, फिर घर जाकर दोबारा कोशिश करता था
किसी बिंदु पर चीज़ें समझ में आने लगीं। आखिर तक पहुँचते-पहुँचते मैंने लगभग संयोग से सीख लिया कि
chrootक्या है, kernel को जैसे-तैसे build कैसे किया जाता है, /etc/fstab इतना महत्वपूर्ण क्यों है, और किसी machine को unbootable बना देना कितना आसान है। उसी दौरान कहीं Vim भी सीख लिया, और तब से अब तक वही इस्तेमाल कर रहा हूँअब मैं Gentoo इस्तेमाल नहीं करता, लेकिन उन 2 हफ्तों के लिए आज भी आभारी हूँ
अच्छे कारण सच में बहुत हैं। मैं अपना homelab फिर से बना रहा हूँ, और VisionFive 2 (RISC-V/8GB RAM) पर Alpine Linux या Gentoo चलाने की योजना थी
दोनों supported हैं, लेकिन Gentoo में मैं systemd इस्तेमाल कर सकता हूँ, जिसे मैं OpenRC पर तरजीह देता हूँ, और चूँकि मैंने Gentoo सिर्फ कुछ ही बार इस्तेमाल किया है, यह मज़ेदार भी हो सकता है