- Delayed hibernate जोड़ा गया है, जिससे suspend स्थिति में बैटरी डिस्चार्ज रोकने के लिए सिस्टम तय समय के बाद जाग सकता है और फिर तुरंत hibernate हो सकता है;
machdep.hibernatedelay से सेकंड में delay समय निर्धारित किया जाता है
- Security बदलावों में root के bpf(4)
BIOCLOCK bypass को हटाया गया है, pledge(2) tmppath promise को समाप्त किया गया है, और libc के भीतर file access को सीमित रूप से अनुमति देने वाला __pledge_open(2) पेश किया गया है
- OpenSSH 10.3 में
ssh(1) username % token expansion से जुड़ी command execution संभावना, sshd(8) certificate principal matching, legacy scp -O की setuid/setgid handling, ECDSA algorithm restriction लागू करने, और mux proxy verification छूटने जैसी security समस्याओं को ठीक किया गया है
- LibreSSL 4.3.0 में TLS
MLKEM768_X25519 keyshare, sieve starttls, RSASSA-PSS pubkey OID support जोड़ा गया है, और X.509 verifier depth check में off-by-one के कारण heap memory के 4-byte overwrite की संभावना को ठीक किया गया है
- Network stack में veb(4) अब VLAN-aware bridge बन गया है, जो PVID, allowed VID bitmap, access/trunk/hybrid port configuration को support करता है, और मौजूदा simple configuration compatibility के लिए default PVID 1 का उपयोग करता है
- IPv6 autoconf(SLAAC) अब default रूप से enabled है, और pflow(4) में NAT के बाद source/destination IP और port रखने वाला IPFIX/Netflow v10 NAT template जोड़ा गया है
- pf(4) में source/state limiter जोड़ा गया है और limit तक पहुँचने पर चलने वाला action निर्धारित किया जा सकता है; pfctl(8) का default limiter action
no-match से बदलकर block कर दिया गया है
- Virtualization में vmd(8) VM पर sysupgrade(8) को संभव बनाने वाला
vmboot जोड़ा गया है, और Apple Virtualization behavior, AMD SEV जैसे confidential computing path, तथा कई race, hang और network reset समस्याओं में सुधार किया गया है
- Hardware support में arm64 के RK3588/RK3576 SoC, Apple Silicon के कुछ laptops का GL9755 SDHC, riscv64 के SpacemiT K1 SoC, USB4 के लिए nhi(4), और Intel LPSS SPI के लिए ispi(4) आदि जोड़े गए हैं
- Wireless networking में default 802.11ax support, 5GHz 160MHz window और iwx(4) 160MHz support, PMF को iwm(4), iwx(4), qwx(4) में जोड़ा गया है, और
iwx(4) powersave अब default रूप से enabled है
- Install·upgrade में
/usr filesystem 90% से ऊपर होने पर sysupgrade को fail करने के लिए बदला गया है ताकि system corruption की संभावना कम हो, और amd64 पर EFI system partition से kernel file loading का support दिया गया है, जिससे OpenBSD boot loader और bsd.rd को EFI boot partition में रखा जा सकता है
- Packages और मुख्य components में amd64 के लिए 13,044, aarch64 के लिए 12,883, i386 के लिए 10,631 packages उपलब्ध हैं, और इनमें Chromium 147.0.7727.101, Firefox 150.0, Node.js 22.22.2, PostgreSQL 18.3, Rust 1.94.1, LLVM/Clang 19.1.7·20.1.8·21.1.8 आदि शामिल हैं
2 टिप्पणियां
Hacker News की राय
OpenBSD 7.9 की release artwork Lyra Henderson ने बनाई है
https://www.openbsd.org/images/PinkPuffy.png
https://www.openbsd.org/images/puffy79.gif
release song Bob Kitella ने compose और produce किया है: "Diamond in the Rough"
https://www.openbsd.org/lyrics.html#79
merchandise अभी ज़्यादातर T-shirt-केंद्रित लग रहा है: https://openbsdstore.com/
मैं इसे घर के छोटे server पर DNS/DHCP के लिए चला रहा हूँ, और इसकी स्थिरता प्रभावशाली है; लंबे समय से हुए auditing काम का जमा हुआ असर साफ़ दिखता है
दूसरे operating systems में security issues लगातार मिल रहे हैं, और AI की वजह से यह और तेज़ होगा, इसलिए अब सभी को OpenBSD पर विचार करना चाहिए
दशकों से चला आ रहा इसका security-first approach बेमिसाल है; मैं Ubuntu/Debian से पूरी तरह OpenBSD पर आ गया हूँ और वापस जाने का कोई इरादा नहीं है
अगर BSD चुनना हो तो शायद मैं फिर भी FreeBSD चुनूँगा
वही code Linux/FreeBSD/Windows पर ठीक चलता है, लेकिन OpenBSD पर multithread performance कम थी, और async sockets कुछ सेकंड तक high-speed transfer के बाद रुक गए
इसका मतलब यह नहीं कि OpenBSD ग़लत है, बस यह अलग लगा
मुझे इसके समर्थन में कोई data नहीं मिला, सिर्फ़ अस्पष्ट impressions दिखे
संबंधित चर्चा: https://forum.qubes-os.org/t/qubesos-vs-openbsd-security/790...
https://x.com/ortegaalfredo/status/2055362910415671459
बेशक Linux भी ज़रूरी नहीं इससे बेहतर हो, लेकिन उसके market share की वजह से समस्याओं को ठीक करने वाली नज़रें ज़्यादा हैं
कुछ लोगों के लिए Exim को ports से हटाया जाना बड़ी खबर है
Exim से OpenSMTPD पर जाने के बारे में एक अच्छा लेख है: https://nxdomain.no/~peter/time_for_opensmtpd.html
मैंने OpenSMTPD को तब आज़माया था जब यह नया-नया आया था, लेकिन तब इसकी stability काफ़ी नहीं लगी; अब शायद इसे फिर से आज़माने का समय है
कई सालों से OpenBSD और Linux दोनों पर OpenSMTPD चला रहा हूँ और कोई शिकायत नहीं है
वैसे भी यह base system का हिस्सा नहीं था, तो शायद maintainer अब इसे बनाए रखना नहीं चाहता था
यह बिना फ़ालतू चीज़ों के है, और पुराने configuration styles की तुलना में इसका configuration approach काफ़ी modern लगता है
ज़्यादातर use cases के लिए यह सबसे अच्छा SMTP server है
अफ़सोस कि ported version support कमज़ोर है, इसलिए इसकी अच्छाई जानने वाले ज़्यादातर लोग OpenBSD users तक ही सीमित रहते हैं
मैंने इसे कभी G4 PowerBook पर कुछ समय के लिए install करके थोड़ा इस्तेमाल किया था, शायद 2000s की शुरुआत में
binary blobs पर बिना समझौते वाला रवैया और security-first approach मुझे पसंद आया था, और कुल मिलाकर अनुभव भी बहुत अच्छा था
जो code मैंने पढ़ा था, वह भी साफ़-सुथरा लिखा हुआ था
यह हमेशा recommend करने लायक system है, और मुझे जल्द ही इसे कहीं फिर install करना चाहिए
यह इसकी 60वीं release भी है, इसलिए team को बधाई
कहा गया है कि scheduler में अलग-अलग speed वाले CPU cores को संभालने का mechanism जोड़ा गया है
hw.blockcpuSMT के लिए S, सामान्य performance cores के लिए P, efficiency cores के लिए E, और धीमे cores के लिए L — इन चार अक्षरों की sequence लेता है; इसका इस्तेमाल scheduler से बाहर रखने वाले CPU चुनने में होता है, और default value SL हैफ़िलहाल यह amd64 और arm64 पर काम करता है
लेकिन big.LITTLE जैसी संरचनाओं में धीमे cores को CPU में रखने का फ़ायदा मुझे पूरी तरह समझ नहीं आता
आप शायद नहीं चाहेंगे कि tasks ऐसे cores पर assign हों, और background tasks भी जल्दी ख़त्म हों तो शायद power कम लगे
अगर cores की capabilities अलग हों, तो यह भी सवाल है कि AVX-512 जैसी CPU feature माँगने वाला process उस core पर assign होने पर क्या होगा जहाँ वह feature नहीं है
OpenBSD ने यहाँ धीमे cores को बंद कर देने वाला तेज़ और rough approach चुना है, लेकिन यह भी नहीं पता कि ऐसे cores पर काम assign करने के लिए कोई अच्छा heuristic है या नहीं
बस यही सूझता है कि executable या thread पर कोई जटिल manual tag हो, जैसे “यह process धीमे core के लिए उपयुक्त है”
mailing list देखने पर लगा कि simple scheduler processes को कहीं भी डाल देता है, और कुछ नए big.LITTLE systems के छोटे cores इतने धीमे हैं कि code recompilation पर बड़ा असर पड़ता है
अगर background work लगातार चलता रहे, unpredictable events पर प्रतिक्रिया दे, या बार-बार जागकर थोड़ा-थोड़ा काम करे, तो सिर्फ़ CPU boost logic से power usage की समस्या हल नहीं होती
और x86-64 या ARM में P-cores और E-cores एक ही instruction set इस्तेमाल करते हैं, इसलिए ग़लत CPU instruction चलने का जोखिम नहीं है
सचमुच heterogeneous instruction sets भविष्य में फिर आ सकते हैं, इसलिए सावधानी रखना ठीक है
अगर यहाँ कोई OpenBSD इस्तेमाल करता है, तो जानना चाहूँगा कि किस काम के लिए करता है
मैं embedded systems या IoT devices के लिए application बनाने में NetBSD आज़माना चाहता था, लेकिन अभी मौक़ा नहीं मिला
OpenBSD पुराने Apple hardware पर भी शानदार है, जिन्हें Cupertino अब support नहीं करता
मैं Intel Mac Mini cluster लगभग perfect uptime के साथ चला रहा हूँ
अगर web, mail, DNS, NFS, database जैसे servers चाहिए जहाँ stability और security ज़रूरी है, तो इससे आगे देखने की ज़रूरत नहीं
learning curve है, लेकिन पूरी तरह worth it है
मुख्य वजह यह है कि मुझे इसका हल्का और सरल ढाँचा पसंद है
packaging सरल है, और kernel development व upgrades भी सरल हैं
kernel code भी उसी style में लिखा है जो मुझे पसंद है; सिर्फ़ ज़रूरी चीज़ें हैं, बेकार abstraction या शोर नहीं
मैंने जितने BSD इस्तेमाल किए हैं, NetBSD और FreeBSD/DragonFlyBSD सहित, उनमें इसे ज़्यादा पसंद करता हूँ
अपने system का अधिकांश हिस्सा समझ पाने का एहसास अच्छा लगता है
इसमें Linux जितनी features नहीं हैं, लेकिन अपने system को समझने का एहसास ताज़गी देता है
यह कुछ वैसा है जैसे छुट्टी पर किसी छोटे, सुंदर शहर में जाकर सामान्य और शांत ढंग से रहना; हालाँकि यह अनुभूति व्यक्ति-दर-व्यक्ति अलग हो सकती है
यह काफ़ी stable है और इसकी आदत पड़ चुकी है
अगर आप Unix जानते हैं, तो यह सच में सरल है
मैं चाहता हूँ कि OpenBSD गायब न हो, और इसका कोई अच्छा विकल्प भी नहीं दिखता
Linux अब इतना complex हो गया है कि उसे संभालना भारी लगता है
मैं digital side संभाल रहा हूँ, Ruby on Rails app बना रहा हूँ और उसे OpenBSD पर deploy कर रहा हूँ
पूरा system घर के rack में रखे एक सस्ते Supermicro U1 server पर चल रहा है
nsd, और email के लिएopensmtpd, बहुत कम memory वाले KVM पर भी minimal setup के साथ सीधे चल जाते हैंdocumentation शानदार है और installation आसान है
sysupgrade एक बड़ा improvement था, लेकिन अच्छा होगा अगर release cycle थोड़ा धीमा कर दिया जाए
kernel mutexes में
casspinlocks को parking locks से बदला गया है; parking lock क्या होता है और कैसे काम करता है, यह जानना चाहता हूँman pages में मुझे इससे संबंधित कुछ नहीं मिला
https://man.openbsd.org/OpenBSD-5.5/lock.9
https://man.openbsd.org/OpenBSD-5.9/mutex.9
https://webkit.org/blog/6161/locking-in-webkit/
spinlocks तब अच्छा performance देते हैं जब contention कम हो और lock hold time छोटा हो, लेकिन अगर इनमें से कोई भी बात सही न हो, तो blocked thread इंतज़ार करते हुए भी पूरा CPU core खपा सकता है
विषय से थोड़ा हटकर, लेकिन अच्छा होगा अगर FreeBSD भी उस बेजान नकली-corporate शैली वाले काँच की गोली जैसे logo और 90s की शुरुआत के spaceship toy box जैसे font से थोड़ा पीछे हटकर Beastie और एक सलीकेदार serif typeface पर लौटे
मतलब बस इतना कि थोड़ी जलन हो रही है; OpenBSD की artwork सच में शानदार है
काश OpenBSD Bluetooth support करता
इसका न होना अफ़सोस की बात है और दुर्भाग्य से यह एक निर्णायक सीमा है; desktop पर जब मैंने इसे आज़माया था, तब यह शानदार था
इसे 2014 में हटा दिया गया था
OpenBSD अच्छा लगता है, लेकिन अभी यह desktop की तुलना में server उपयोग तक ज़्यादा सीमित लगता है; हालाँकि simplicity पर फ़ोकस इसकी एक ताकत भी हो सकती है
फिर भी, अच्छा होता अगर hardware support और ज़्यादा होता
अगर आप OpenBSD को virtual machine में चलाएँ, तो शायद Linux/Windows host OS का hardware support और OpenBSD के फ़ायदे दोनों मिल सकते हैं
उदाहरण के लिए, मैं BLE keyboard के लिए Seeed Studio XIAO nRF52840 इस्तेमाल कर रहा हूँ
मैं अभी सोच ही रहा था कि 7.9 आख़िर कब आ रहा है
और ऊपर से release song भी है, जो बढ़िया है
अगर मुझे सही याद है, तो काफ़ी समय से नया गाना नहीं आया था
जैसा दूसरे thread में भी कहा गया, पिछला गाना 7.3 का था
Lobste.rs की राय
आज पता चला कि OpenBSD के हर release के साथ artwork और गाना भी होता है: https://www.openbsd.org/lyrics.html#79
इसके तीन कारण थे: किताबों की दुकान OpenBSD से जुड़ी सामग्री मंगाती रहे, project को support मिले, और artwork व गाने की physical copy मेरे पास रहे; उस लगभग रस्म जैसे process की याद आती है
BSD हमेशा दिलचस्प लगा है, लेकिन gaming की वजह से शायद Linux छोड़ नहीं पाऊँगा
कई online games में vulnerability attack surface बड़ा होता है, वे proprietary code पर बने होते हैं जिसका कोई audit नहीं करता, और कई बार release के बाद बिना update के छोड़ दिए जाते हैं
यह अच्छा लगता है कि banking जानकारी या government ID से जुड़े दस्तावेज़ उसी machine पर रखने की ज़रूरत नहीं है
थोड़ा-सा effort करके
sshdसेट up किया, फिर BSD से जुड़े features के साथ मनचाहा प्रयोग कर सकता हूँ, और चाहूँ तो इसे self-hosting तक बढ़ाने का मौका भी हैअभी मैं FreeBSD द्वारा manage किए जा रहे
bhyveपर Home Assistant चला रहा हूँ, और server की उपयोगिता बढ़ाने के लिए अगली बार क्या deploy करूँ, यह सोच रहा हूँबेशक virtual machine से भी यह किया जा सकता है, लेकिन कम से कम मेरे लिए यह असली system के साथ काम करने जैसा एहसास पूरी तरह नहीं दे पाया
मैंने QEMU में OpenBSD 7.9 आज़माया; installer थोड़ा पुराना लगा और default
X11+fvwm2+xtermसंयोजन भी outdated दिखा, लेकिन यह boot हुआ और ठीक से चलाdoasबढ़िया चला औरpkg_addसे packages भी install कर सकाdefault install में
curlयाwgetन होना चौंकाने वाला था, लेकिन security के नज़रिए से minimal setup वाली philosophy पसंद आईयह पूरी process में मार्गदर्शन करता है, और जब भी manual intervention चाहिए हो, उसे आसान बना देता है
आप चाहें तो बस Enter दबाते जाएँ, या चाहें तो ज़्यादातर चीज़ें खुद संभालें
default
X11+fvwm2+xtermसंयोजन ऐसा लगता है मानो उसका उद्देश्य इतना हल्का package set देना हो जो बेहद पुराने hardware पर भी install होकर चल सकेफिर भी Wayland को OpenBSD पर port किया जा चुका है, और 2023 में जो अभी भी लगभग plan जैसा था, उसका इतनी जल्दी ठोस रूप लेना देखकर अच्छा लगा
downloads के लिए यह ftp(1) इस्तेमाल करने की उम्मीद करता है, जो नाम के विपरीत सिर्फ FTP के लिए नहीं है, बल्कि HTTP(S) fetch भी support करता है
अब आख़िरकार Yeelong Lemote पर इसे फिर से install करके देख सकता हूँ
पिछले errata में
pledgeबदलाव की वजह से मैंने सिर्फ 7.8 kernel दोबारा compile किया था और userland वैसा ही छोड़ दिया था, और उसका नुकसान उठाना पड़ा; Loongson के लिए तो वैसे भी binary updates मिलते नहीं हैं