uname कमांड गाइड और व्यावहारिक उपयोग

परिचय

किसी भी लिनक्स सर्वर पर सिस्टम प्रशासन या समस्या निवारण करते समय, वर्तमान में सक्रिय ऑपरेटिंग सिस्टम और कर्नेल की सही जानकारी प्राप्त करना प्राथमिक आवश्यकता होती है। इसके लिए किसी अतिरिक्त पैकेज को स्थापित करने की आवश्यकता नहीं होती; डिफ़ॉल्ट रूप से उपलब्ध uname यूटिलिटी सिस्टम के मूल विनिर्देशों को तेजी से निकालने का सबसे विश्वसनीय माध्यम है। इस ट्यूटोरियल में हम uname के प्रत्येक उपयोगी स्विच, उनके आउटपुट के तकनीकी अर्थ और ऑटोमेशन स्क्रिप्ट में इनके वास्तविक उपयोग को विस्तार से समझेंगे।

1. समग्र सिस्टम विनिर्देश एक नज़र में: बुनियादी uname और -a विकल्प

कमांड लाइन पर केवल uname चलाने पर यह सक्रिय सिस्टम के कर्नेल परिवार का नाम प्रिंट करता है।
अतिरिक्त तर्कों के बिना निष्पादित करने पर यह आउटपुट में केवल ऑपरेटिंग सिस्टम कर्नेल का नाम (जैसे कि Linux) प्रस्तुत करता है।
⚙️ [महत्वपूर्ण कमांड स्विच]

-a (--all) : कर्नेल का नाम, नेटवर्क नोड पहचानकर्ता, रिलीज स्ट्रिंग, बिल्ड टाइमस्टैम्प और हार्डवेयर आर्किटेक्चर जैसी संपूर्ण सिस्टम जानकारी एक पंक्ति में प्रदर्शित करता है।
-s (--kernel-name) : कर्नेल का आधिकारिक नाम दर्शाता है, जो डिफ़ॉल्ट व्यवहार के समान है।
-n (--nodename) : लोकल नेटवर्क पर मशीन की पहचान करने वाला होस्टनेम आउटपुट करता है।
-r (--kernel-release) : वर्तमान में मेमोरी में लोड कर्नेल की सटीक रिलीज संख्या दिखाता है।
-v (--kernel-version) : कर्नेल निर्माण की कंपाइलेशन तिथि, समय और बिल्ड नंबर विवरण देता है।
-m (--machine) : अंतर्निहित सीपीयू आर्किटेक्चर (उदा. x86_64, aarch64) प्रदर्शित करता है।
-p (--processor) : प्रोसेसर आर्किटेक्चर का प्रकार दिखाता है; यदि सिस्टम द्वारा यह अपरिभाषित हो तो unknown लौटता है।
-i (--hardware-platform) : हार्डवेयर प्लेटफॉर्म की पहचान प्रदान करता है, अन्यथा unknown दिखाता है।
-o (--operating-system) : समग्र ऑपरेटिंग वातावरण का नाम (जैसे GNU/Linux) दर्शाता है।

uname निष्पादन

जब आप uname -a निष्पादित करते हैं, तो पूरे सिस्टम का विस्तृत तकनीकी सारांश एक ही स्ट्रिंग में संकलित होकर सामने आता है।
इस आउटपुट से सर्वर का नेटवर्क नाम (91d41b0fd0a6), कर्नेल रिलीज स्तर (7.0.0-31-generic), बिल्ड विवरण, 64-बिट सीपीयू वास्तुकला (x86_64), और ओएस स्टैक (GNU/Linux) का तुरंत सत्यापन किया जा सकता है।

uname -a आउटपुट सारांश

2. कर्नेल रिलीज और संकलन विवरण का विश्लेषण: -s, -r, और -v विकल्प

uname -s विकल्प कर्नेल कोर का वर्गीकरण प्रदर्शित करने के लिए उपयोग किया जाता है।
यह बेस कमांड के समान ही परिणाम प्रस्तुत करता है, जहां Linux आउटपुट इस बात की पुष्टि करता है कि अंतर्निहित कोर लिनक्स आधारित है।

uname -s कमांड परिणाम

uname -r का उपयोग सक्रिय कर्नेल की सटीक रिलीज शाखा की जांच के लिए किया जाता है।
यहाँ प्रदर्शित 7.0.0-31-generic स्ट्रिंग प्रमुख, गौण और वितरण-विशिष्ट पैच संस्करण को दर्शाती है; हार्डवेयर ड्राइवर संकलित करते समय या DKMS मॉड्यूल जोड़ते समय इस विवरण की जांच अपरिहार्य होती है।

uname -r कर्नेल रिलीज विवरण

uname -v स्विच कर्नेल बाइनरी के संकलन समय और विशिष्ट बिल्ड विशेषताओं को दर्शाता है।
परिणाम में दिख रहा #31~24.04.1-Ubuntu SMP PREEMPT_DYNAMIC Mon Aug 10 09:38:02 UTC 2 यह स्पष्ट करता है कि यह उबंटू पैच स्तर, सिमेट्रिक मल्टीप्रोसेसिंग (SMP) सपोर्ट, प्रीएम्प्शन मोड और सटीक टाइमस्टैम्प के साथ कब तैयार किया गया था।

uname -v बिल्ड टाइमस्टैम्प

3. नेटवर्क होस्टनेम और आर्किटेक्चर पहचान: -n, -m, और -p विकल्प

uname -n कमांड नेटवर्क वातावरण में उपयोग किए जा रहे मशीन के होस्टनेम की पुष्टि करता है।
स्क्रीन पर प्राप्त 91d41b0fd0a6 मान सक्रिय सर्वर की विशिष्ट पहचान है, जो मल्टी-नोड क्लस्टर या दूरस्थ एसएसएच सत्रों में गलत होस्ट पर गलती से कमांड निष्पादित करने से बचाता है।

uname -n होस्ट पहचान

uname -m हार्डवेयर मशीन के आर्किटेक्चर प्रकार की पहचान करता है।
आउटपुट x86_64 यह निर्दिष्ट करता है कि सिस्टम 64-बिट x86 कंप्यूटिंग वातावरण चला रहा है, जिससे थर्ड-पार्टी बाइनरी या पैकेज स्थापित करने से पहले बाइनरी अनुकूलता तय की जा सकती है।

uname -m मशीन आर्किटेक्चर

uname -p वर्तमान प्रोसेसर प्रकार की रिपोर्ट करता है।
यहाँ x86_64 चिपसेट परिवार को इंगित करता है; हालांकि कुछ वितरणों में यदि हार्डवेयर लेयर से यह जानकारी उपलब्ध न हो तो यह फ़ील्ड unknown भी लौट सकती है।

uname -p प्रोसेसर विवरण

4. व्यावहारिक परिदृश्य: शेल स्क्रिप्ट ऑटोमेशन और वितरण मेटाडेटा

KERNEL_ARCH=$(uname -m); echo "Current Architecture: $KERNEL_ARCH" कमांड पाइपलाइन uname -m के आउटपुट को शेल वेरिएबल में कैप्चर करके टर्मिनल पर प्रिंट करती है।
बैश ऑटोमेशन में यह तकनीक अत्यधिक उपयोगी है, जहां आर्किटेक्चर (x86_64) को स्वचालित रूप से पहचानकर उपयुक्त पैकेज आर्काइव डाउनलोड करना या निष्पादन प्रवाह को नियंत्रित करना संभव होता है।

शेल वेरिएबल में आर्किटेक्चर असाइनमेंट

cat /etc/os-release कमांड लिनक्स वितरण की संपूर्ण संस्करण जानकारी और कोडनेम युक्त कॉन्फ़िगरेशन फ़ाइल को पढ़ता है।
चूंकि uname केवल कर्नेल स्तर तक सीमित रहता है, इसलिए उच्च-स्तरीय ऑपरेटिंग सिस्टम पहचान जैसे Ubuntu 24.04.2 LTS (Noble Numbat) के पूर्ण सत्यापन हेतु इन दोनों का संयोजन सबसे सटीक दृष्टिकोण है।

वितरण जानकारी os-release

इस प्रकार, लिनक्स वातावरण में uname यूटिलिटी सिस्टम आर्किटेक्चर और कर्नेल मापदंडों का त्वरित विश्लेषण करने का सबसे सरल और शक्तिशाली साधन है।
रखरखाव कार्यों, सिस्टम ऑडिट या ऑटोमेशन स्क्रिप्ट तैयार करते समय अपनी तकनीकी आवश्यकता के अनुसार सही स्विच का चयन करें।