- FreeBSD और BSD परिवार के OS के ज़रिए तकनीक के साथ अपने रिश्ते को फिर से व्यवस्थित करते हुए self-hosting में रुचि दोबारा जगाने का अनुभव
- BastilleBSD से jail और vm-bhyve से VM सेट अप करते हुए, सीधे प्रयोग और trial-and-error के साथ कॉन्फ़िगरेशन बनाना
- सरल संरचना, बेहतरीन documentation, और लंबी अवधि की compatibility की वजह से पुरानी सामग्री भी अब तक उपयोगी रहने वाला सिस्टम वातावरण
- BSD community के दोस्ताना support की मदद से सीखने की प्रक्रिया में आई उलझनों को सुलझाते हुए, शुरुआती उत्साह को फिर से महसूस करना
- नई तकनीक सीखने की प्रक्रिया से मिलने वाली खुशी और लगातार खोजते रहने के महत्व पर ज़ोर
FreeBSD की ओर बदलाव और नई शुरुआत
- तकनीक इस्तेमाल करने का पुराना तरीका अब उपयुक्त नहीं लगा, इसलिए BSD परिवार के operating system में नई शुरुआत की तलाश की
- पहले FreeBSD और OpenBSD, दोनों को आज़माया था; OpenBSD को single-purpose VM और router के रूप में स्थिरता से इस्तेमाल किया
- लेकिन multi-purpose system के लिए वह उपयुक्त नहीं था, इसलिए FreeBSD चुना
- Hetzner server auction के ज़रिए उपयुक्त server हासिल कर FreeBSD वातावरण बनाना शुरू किया
- नए system को सीखने की प्रक्रिया में शुरुआती उलझन और सीखने का आनंद दोनों साथ महसूस हुए
सिस्टम कॉन्फ़िगरेशन और टूल्स का चयन
- BastilleBSD का उपयोग jail environment के लिए और vm-bhyve का उपयोग virtual machine प्रबंधन के लिए किया
- ज़्यादातर सेटिंग्स पहली बार देखीं, लेकिन trial-and-error के बाद अपने लिए उपयुक्त कॉन्फ़िगरेशन पूरा किया
- यह सामान्य सेटअप से थोड़ा अलग है, लेकिन व्यक्तिगत माहौल के रूप में संतोषजनक है
- आगे चलकर वातावरण स्थिर होने पर विस्तृत कॉन्फ़िगरेशन अलग से साझा करने की योजना का उल्लेख
FreeBSD के फ़ायदे और दर्शन
- सरलता और बेहतरीन documentation को सबसे बड़ा फ़ायदा बताया गया
- ज़्यादातर काम SSH में कुछ commands से ही पूरे हो जाते हैं
- ज़रूरी जानकारी online man pages या सीधे CLI में तुरंत देखी जा सकती है
- लंबी अवधि की compatibility बहुत मज़बूत है, इसलिए 2008 के forum का समाधान भी आज तक मान्य है
- साथ ही नए features लगातार जुड़ते रहते हैं, इसलिए system पुराना महसूस नहीं होता
सीखने की प्रक्रिया की कठिनाइयाँ और community support
- release cycle और pkg/ports के संबंध को लेकर भ्रम जैसी सीखने के दौरान उलझनें हुईं
- search terms ठीक से व्यक्त न कर पाने के कारण जानकारी ढूँढ़ने में दिक्कत आई
- BSD community और Fediverse users की मदद से समस्याओं का समाधान हुआ
- कई लोगों ने ठोस और उपयोगी जवाब दिए
- शुरुआती सीखने वाले की तरह फिर से उत्साह और community की गर्मजोशी महसूस हुई
मौजूदा संतोष और आगे की दिशा
- लंबे समय तक इस कॉन्फ़िगरेशन को बनाए रखेंगे या नहीं, यह अभी तय नहीं है
- लेकिन फ़िलहाल नई तकनीक सीखने का आनंद ही सबसे अहम है
- सीखने और प्रयोग के ज़रिए फिर से self-hosting का मज़ा और रचनात्मकता वापस मिली है
- अंत में यह रुख सामने आता है कि “अभी सीखने की प्रक्रिया खुद ही महत्वपूर्ण है”
1 टिप्पणियां
Hacker News राय
मेरे homelab की बुनियाद OpenBSD है
DNS, DHCP, फ़ायरवॉल राउटर, और एक छोटा web server तक सब उसी पर चल रहे हैं
configuration Linux से कहीं ज़्यादा सरल लगती है, और FreeBSD से भी आसान महसूस होती है
FAQ के examples कॉपी करके थोड़ा modify कर दो, बस काम हो जाता है; Linux की तरह कई daemons और जटिल config files से नहीं जूझना पड़ता
हाँ, KVM host अलग से Linux-based चला रहा हूँ
Linux की corporate acquisition ड्रामा और community शोर-शराबे से दूर, इसे शांति से इस्तेमाल कर पाना इसका बड़ा फ़ायदा है
मुझे लगता है कि दूसरे open source projects को भी 'toxic slug' strategy जैसी बाहरी दखल रोकने वाली approach की ज़रूरत है
rc.confसे सब कुछ आसानी से control हो जाता है, और गैर-ज़रूरी components default install में शामिल नहीं होतेइसके उलट Linux general-purpose होने की कोशिश में configuration को अक्सर जटिल बना देता है
इसकी वजह से OBSD पर भी modern server tech का फ़ायदा मिल जाता है
spare parts ज़्यादा न हों तो root cause पता लगाना काफ़ी मुश्किल हो जाता है, और time व focus हमेशा कम पड़ते हैं
मैं भी FreeBSD पर homelab चला रहा हूँ
ZFS support शानदार है, और चीज़ों को बस अलग तरीके से करने में भी काफ़ी मज़ा है
base configuration को README.md में manage करता हूँ, और बाकी को Ansible से automate करता हूँ
हर service एक jail के अंदर चलती है, और data को ZFS subvolumes के रूप में
/bucketपर mount करता हूँइससे जब चाहो jail को फेंककर फिर से खड़ा कर सकते हो, और SSH से individual access भी आसान रहता है
इसमें host filesystem को उसी तरह share करते हुए भी network access सीमित किया जा सकता है
संबंधित docs FreeBSD Handbook और man page में हैं
इसमें systemd भी नहीं है, और container जैसा concept तो बहुत पहले से built-in था
मैं सच में FreeBSD को पसंद करना चाहता था, लेकिन व्यवहारिक रूप से configuration का दर्द बहुत ज़्यादा था
फ़ायरवॉल setup के लिए resources कम थे, और pm2 में process ID issue वाला bug था
आख़िरकार हर सामान्य server task के लिए बार-बार पहिया फिर से बनाना पड़ रहा था, इसलिए छोड़ दिया
जो OS developer नहीं है, उसके लिए यह बहुत भारी पड़ता है
क्या आपने पुराने issues को आज के LLM के साथ फिर से आज़माया है?
FreeBSD में IPFW-based default templates भी हैं
rc.confकेfirewall_typeoption को देखें तो simple NAT gateway से लेकर client firewall तक आसानी से setup किया जा सकता हैdetails के लिए
/etc/rc.firewallदेखेंमैंने पहले FreeBSD और openvpn से खुद VPN server बनाया था, जो सैकड़ों customers को support करता था
आज भी Linux firewall की तुलना में pf को ज़्यादा पसंद करता हूँ
बस docker swarm जैसी multi-host orchestration capabilities की कमी महसूस होती है
FreeBSD का knowledge Linux की तुलना में ज़्यादा लंबे समय तक वैध रहता है
Linux के अव्यवस्थित ecosystem को देखकर BSD उल्टा ज़्यादा सुकूनदेह लगता है
कभी-कभी tech बदलने की वजह सिर्फ़ सीखने की खुशी होती है
मैंने भी self-hosting platform बनाते समय 'convenience' के पीछे भागा, लेकिन असली जादू खुद समाधान निकालने की प्रक्रिया में था
docker/podman, flatpak जैसी tech की वजह से अब entry barrier काफ़ी कम हो गई है
बस अफ़सोस यह है कि CLI apps शायद ही कभी flatpak के रूप में distribute होते हैं
25 साल पहले से BSD, खासकर FreeBSD, से प्यार रहा है
DragonflyBSD को desktop के रूप में भी चलाकर देखा था, और दुख इस बात का है कि आजकल BSD को बहुत कम ध्यान मिलता है
यह नहीं भूलना चाहिए कि iOS और macOS की नींव में भी BSD की बड़ी भूमिका रही है
यह stable है, और Linux की तरह corporate trends के साथ इधर-उधर नहीं बहता
KDE जैसे modern apps rolling तरीके से updated रहते हैं, और documentation भी बेहतरीन है
ZFS on root का default support भी मुझे पसंद है
कुछ गिने-चुने maintainers लगातार इसे अच्छी तरह संभाले हुए हैं
मैंने पहले आपका वह podcast सुना था जिसमें आप FreeBSD की तारीफ़ कर रहे थे, और उसी से शुरुआत की थी
घर पर मैं काम से अलग environment चाहता था, इसलिए FreeBSD इस्तेमाल करता था
लेकिन जब ARM RockChip और Intel Alder Lake जैसे big.LITTLE architecture CPU इस्तेमाल करने लगा, तो FreeBSD scheduler उनका सही उपयोग नहीं कर पाया
इसलिए Linux पर लौट आया और Nix ecosystem में डूब गया
ULE scheduler में सुधार हुआ तो वापस आने का इरादा है
हाल ही में OpenBSD-based router बनाया, और वह सच में ताज़गी भरा अनुभव था
details मैंने अपने ब्लॉग पोस्ट में लिखी हैं
OpenBSD आम तौर पर सभी file sets install करने की सलाह देता है
क्योंकि कुछ ports ऐसी libraries मांग सकते हैं जिनकी उम्मीद नहीं होती
और OpenBSD Handbook आधिकारिक docs नहीं है, इसलिए man pages, openbsd.org, या misc@ mailing list देखना बेहतर है
IPv6 setup तक पूरा कर लेना प्रभावशाली है
मैं Jellyfin और n8n को self-host कर रहा हूँ, लेकिन धीरे-धीरे cloud की तरफ़ migrate कर रहा हूँ
services की availability बनाए रखने में बहुत समय जाता था, और ब्लॉग को Cloudflare Pages पर ले गया हूँ
45TB media data को cloud में डालना practical नहीं है क्योंकि उसका monthly खर्च $250~$1500 आएगा, लेकिन कभी न कभी करना चाहता हूँ
मैं भी self-hosting करता हूँ, लेकिन साल में बस कुछ घंटे ही maintenance में जाते हैं
issue link देखें
मैंने सिर्फ़ Linux, Windows, macOS इस्तेमाल किए हैं; BSD शुरू करने के लिए क्या जानना चाहिए, यह जानना चाहता हूँ
क्या coreutils commands वैसे ही काम करेंगी? Emacs package compatibility कैसी है, यह भी जानना है
लेकिन POSIX की सीमा में आम तौर पर कोई दिक्कत नहीं होती
GNU tools भी install किए जा सकते हैं; जैसे
makeकी जगहgmakeइस्तेमाल करते हैं1999~2015 तक इस्तेमाल करते समय मुझे कोई बड़ी समस्या नहीं हुई
gnu/coreutils को गहराई से न भी जानते हों, तो शायद कोई बड़ा फ़र्क महसूस नहीं होगा
BSD में application support कैसा है, यह जानना चाहता हूँ
ज़्यादातर जगह deb या rpm ही दिखते हैं; FreeBSD ports कितना cover करते हैं, यह जानना है
hardware drivers, खासकर latest Wi‑Fi chips के support को लेकर भी जिज्ञासा है
desktop environment थोड़ा मुश्किल हो सकता है, लेकिन BSD web server use cases के लिए बहुत optimized है
Bastille जैसे tools से jail-based deployment आसान हो जाता है
मैं सलाह दूँगा कि सीधे FreeBSD VM या USB से install करके देखें
documentation और forums बहुत friendly हैं