कंप्यूटर का नाम (इसके होस्टनाम नहीं) कैसे प्राप्त करें?


20

मेरी खोजों के सभी परिणाम कुछ के साथ hostnameया करने के लिए समाप्त होते हैं uname -n। मैं दोनों के लिए मैनुअल देखा, डरपोक विकल्प की तलाश में, लेकिन कोई किस्मत नहीं।

मैं scutil --get ComputerNameलिनक्स सिस्टम पर OSX के समकक्ष खोजने की कोशिश कर रहा हूं । मैक ओएस एक्स पर, कंप्यूटर का नाम कंप्यूटर के लिए मानव-पढ़ने योग्य पहचानकर्ता के रूप में उपयोग किया जाता है; इसे विभिन्न प्रबंधन स्क्रीन में दिखाया गया है ( जैसे इन्वेंट्री प्रबंधन, बोनजोर-आधारित रिमोट एक्सेस, ...) और डिफ़ॉल्ट होस्टनाम (रिक्त स्थान को संभालने के लिए फ़िल्टर करने के बाद) के रूप में कार्य करता है।


मैं गलत हो सकता हूं, लेकिन कंप्यूटर के नाम को उसके नेटवर्क नाम के रूप में परिभाषित करने का मतलब है कि इसका कोई निश्चित नाम नहीं है, है ना? जब आप एक मशीन पर लिनक्स या ओएसएक्स स्थापित करते हैं, तो आप आमतौर पर उस कंप्यूटर के लिए एक नाम चुनते हैं (जो कि डिफ़ॉल्ट नेटवर्क नाम है जो मुझे लगता है)। उदाहरण के लिए मेरे लैपटॉप का नाम "FooBar" हो सकता है, लेकिन जब मैं काम पर किसी नेटवर्क से जुड़ता हूं तो मुझे "machine42.work.localnetwork" जैसे होस्टनाम मिलता है।
शेलजोहन

@StephenKitt वास्तव में, लिनक्स सिस्टम में इसका दूसरा नाम है?
शेलजोहन

4
@ Sh3ljohn क्या आसुत सेवा है जिसका उद्देश्य है ऑक्स सर्व? मुझे नहीं लगता कि लिनक्स सिस्टम में कोई समकक्ष है।
बिबेक_जी

क्या आपने उस कंप्यूटर को स्थापित करते समय होस्टनाम के अलावा कुछ नाम दिया था? उस नाम को / etc में खोजने की कोशिश करें:grep -ri 'name' /etc
ptman

@Bibek_G मैं उस मशीन की पहचान करने के लिए इसका उपयोग करना चाहूंगा जिस पर मैं अपने सॉफ्टवेयर से चल रहा हूं। यूयूआईडी अपर्याप्त है क्योंकि एक ही डिस्क पर कई ओएस स्थापित हो सकते हैं जो बदले में एक ही मशीन पर चलते हैं।
शेलजोन

जवाबों:


31

लिनक्स चलाने वाले कंप्यूटर के लिए एक मानव-पठनीय (और मानव-चुने हुए) नाम के सबसे करीब का नाम डिफ़ॉल्ट होस्टनाम है जिसे संग्रहीत किया गया है /etc/hostname। कुछ (सभी नहीं) लिनक्स वितरण पर, यह नाम स्थापना के दौरान कंप्यूटर के नाम के रूप में दर्ज किया गया है (लेकिन नेटवर्क होस्टनाम बाधाओं के साथ, मैक ओएस एक्स के कंप्यूटर नाम के विपरीत)।


लेकिन इस फाइल को अक्सर सेट करने के लिए उपयोग किया जाता है hostnameऔर uname -n, @ Sh3ljohn स्पष्ट रूप से उन दो कमांड के आउटपुट से बचना चाहता था।
रोज़ा

17

कड़ाई से बोलते हुए, लिनक्स में नेटवर्क-असंबंधित "कंप्यूटर नाम" जैसी कोई चीज नहीं है, और मैं वास्तव में उन कंप्यूटरों के नामकरण के उद्देश्य को देखने में विफल हूं जो नेटवर्क पर नहीं हैं।

कारण है कि आपके कंप्यूटर में विभिन्न तार है /etc/hostname, /etc/hostsऔर uname -nDHCP प्रोटोकॉल एक नया मेजबान को IP पते के साथ एक होस्ट नाम प्रदान करने के लिए सुविधा नहीं है कि है। "machine42.work.localnetwork" बिल्कुल ऐसा नाम लगता है जैसे डीएचसीपी सर्वर उठाएगा। इस स्ट्रिंग को तब सहेजा जाता है और gethostnameकॉल द्वारा लौटाया जाता है।

यह सभी देखें:

मैं कंप्यूटर का नाम कैसे बदलूं? (tl; डॉ। echo computername > /etc/hostname) - ऐसा तब होता है जब आप इंस्टालेशन के दौरान नाम चुनते हैं।

मैं पुनरारंभ के बिना होस्टनाम कैसे बदलूं? (tl; डॉ। hostname computername) - ऐसा तब होता है जब आपको होस्ट नाम के साथ डीएचसीपी लीज मिलता है।


"सख्ती से बोलना, लिनक्स में नेटवर्क-असंबद्ध" कंप्यूटर नाम "जैसी कोई चीज नहीं है - क्या यह सेवा पर निर्भर नहीं है? उदाहरण के लिए, मुझे लगता है कि विंडोज समतुल्य NetBIOS नाम है। डोमेन भागों के बिना इसका दोस्ताना नाम, और यह डोमेन नाम के होस्ट भाग (पूरी तरह से योग्य या नहीं) से भिन्न हो सकता है।

NetBIOS नाम अभी भी एक नेटवर्क नाम है, भले ही यह एक डोमेन नाम से अलग हो।
दिमित्री ग्रिगोरीव

16

आप sudo dmidecode | grep -A3 '^System Information'कमांड का उपयोग कर सकते हैं । यह कमांड BIOS और हार्डवेयर से जानकारी पढ़ता है। मेरी मशीन से उदाहरण:

System Information
    Manufacturer: LENOVO
    Product Name: 20BHA06YGB
    Version: ThinkPad W540

स्रोत: [१]


मुझे नहीं लगता कि यह वही है जिसकी मुझे तलाश है; इसके लिए व्यवस्थापक अधिकारों की आवश्यकता होती है और आपको हार्डवेयर के बारे में जानकारी दी जाती है, न कि उस मशीन पर OS स्थापित करने के समय उपयोगकर्ता द्वारा चुने गए नाम के बारे में।
शैलजोहं

13
उपयोगकर्ता-चयनित नाम? मेरे लिए होस्टनाम जैसा लगता है।
बिबेक_जी

2
क्षमा करें, मुझे वह गलत लगी। मैं वैसे भी जवाब छोड़ दूंगा। लिनक्स डिस्ट्रीब्यूशन का उपयोग करने वाला एकमात्र उपयोगकर्ता चुना गया नाम मुझे पता है कि होस्टनाम है।
jschlichtholz

@Bibek_G यही कारण है कि मुझे अपने सवाल का जवाब नहीं मिल रहा है, OSX पर ये दो अलग-अलग चीजें हैं। जब मैंने उस मशीन पर लिनक्स स्थापित किया था, तो मैं उस नाम की तलाश कर रहा था, जिसे मैंने डिफ़ॉल्ट रूप से स्थापित किया था।
शेलजोहन

@jschlichtholz बेशक, यह जवाब किसी और के लिए उपयोगी हो सकता है, लेकिन जैसा कि मैंने Bibek_G से कहा, मैं देख रहा हूं कि डिफ़ॉल्ट नेटवर्क नाम क्या हो सकता है।
शेलजोन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.