मैं अपने कंप्यूटर का नाम स्वचालित रूप से और गलत तरीके से कैसे बदल सकता हूं?


19

जब से मैंने अपने 2009 iMac को Mavericks में अपग्रेड किया है, मुझे अक्सर संदेश मिलता है कि आपके कंप्यूटर का नाम "फू" इस नेटवर्क पर पहले से ही उपयोग में है। नाम बदलकर "फू (2)" कर दिया गया है। ' अंत में संख्या में समय के साथ लगातार वृद्धि होगी क्योंकि एक ही त्रुटि होती रहती है।

यह कंप्यूटर का नाम बदलने के लिए काफी तुच्छ है, लेकिन क्या भविष्य में ऐसा होने से रोकने का कोई तरीका है? मेरे पास एक पुराना मैकबुक प्रो था (माउंटेन लायन चल रहा था) जिसमें एक ही मुद्दा था, लेकिन 2013 की शुरुआत में एमबीएआर चलाने वाला मैवरिक्स इस मुद्दे से पीड़ित नहीं था।


क्या यह नाम वास्तव में एक खाली स्ट्रिंग है? यदि यह है, तो यदि आप अपना कंप्यूटर नाम बदलते हैं तो यह क्या कहता है?
0942v8653

नहीं, यह मेरे कंप्यूटर का नाम है (बकवास, मैं देखता हूं कि मेरे द्वारा टाइप किया गया पाठ हटा दिया गया था। कोण कोष्ठक के कारण कोई संदेह नहीं है)। उदाहरण के लिए, यदि मेरे कंप्यूटर का नाम 'फू' है, तो मेरे कंप्यूटर का नाम 'फू (2)' होगा।
कैलेगी

मैंने यह स्पष्ट करने के लिए प्रश्न को संपादित किया है कि खाली स्ट्रिंग नहीं दिखाया गया है।
कैलेगी

यह वही समस्या हो सकती है जो आपको हो रही है। रनिंग scutil --get ComputerNameऔर hostnameटर्मिनल में भी प्रयास करें । (आपको यह देखने के लिए शायद आपके आईपी पते का ट्रैक रखना चाहिए) मुझे लगता है कि यह आपके राउटर या डीएचसीपी के साथ कुछ है, और नेटबीआईओएस नाम बहुत लंबे समय तक कैश्ड हो सकते हैं।
0942v8653

1
अब भी कोई उत्तर नहीं? यह अभी भी 2011 के मैकबुक प्रो 17 पर ओएस एक्स 10.10.4 के साथ हो रहा है। "यह एक ही समय में वाई-फाई और ईथरनेट से जुड़ा होने के साथ कुछ करने के लिए हो सकता है, लेकिन ओएस एक्स क्या दर्द नहीं करता है यह खुद है।
ब्रेंट फॉस्ट

जवाबों:


5

वैकल्पिक हल

अन्य उपयोगकर्ताओं की तरह, मैं इस झुंझलाहट से त्रस्त हूं, लेकिन एक अर्ध-संतोषजनक समाधान पाया गया है:

my_hostname='your-hostname-here'; for key in LocalHostName ComputerName HostName ; do sudo scutil --set $key $my_hostname; done

इस कमांड को चलाने के बाद, आप जाँच सकते हैं कि वे सभी स्थान जहाँ वे होस्टनाम स्टोर करते हैं, इस वन-लाइनर के साथ समान हैं:

for key in LocalHostName ComputerName HostName ; do sudo scutil --get $key; done

यदि मैकबुक तुरंत ComputerNameएक प्रत्यय के साथ वापस नाम रखता है , तो आप इसे बंद करके बंद करने में सक्षम हो सकते हैंWake for Network Access

  • System Preferences→Energy Saver→Wake for Wi-Fi network access → Unchecked

एक बार बंद करने के बाद, समाप्त करने के लिए ऊपर दिए गए आदेशों का उपयोग करके अपनी मशीन का नाम बदलें। आप पाठ फ़ील्ड वरीयता ComputerNameका उपयोग करके वापस मजबूर करने का भी प्रयास कर सकते System Preferences→Sharing→Computer Nameहैं।

अगर इससे मदद नहीं मिली, तो अपने mDNS कैश को फ्लश करने का प्रयास करें :

# El Capitan (10.11) and later
#   check if you have dscacheutil command with: which dscacheutil
sudo dscacheutil -flushcache

# Yosemite (10.10) and ealier
#   check if you have discoveryutil command with: which discoveryutil
sudo discoveryutil mdnsflushcache
sudo discoveryutil mdnsrestartquestions
sudo discoveryutil mdnsrestartregistrations
sudo discoveryutil udnsflushcache
sudo discoveryutil udnsrestartquestions

MDNS कैश फ्लश करने के बाद, ऊपर दिए गए आदेशों का उपयोग करके अपनी मशीन का नाम बदलकर पुन: प्रयास करें।

यदि यह अभी भी काम नहीं किया, तो mDNSResponderसेवा को मारने का प्रयास करें :

sudo killall -HUP mDNSResponder

फिर, ऊपर दिए गए scutilआदेशों का उपयोग करके अपने कंप्यूटर का नाम रीसेट करने के लिए फिर से प्रयास करें ।

यदि आप पाते हैं कि इनमें से कोई भी अच्छा नहीं कर रहा है, तो कुछ अन्य रिपोर्ट किए गए समाधान हैं:

  • सुनिश्चित करें कि आपके पास स्थानीय नेटवर्क से केवल एक कनेक्शन है
  • बोंजोर को बंद करें और वापस चालू करें

    # Yosemite (10.10) (and other versions with discoveryd?)
    # Check for discoveryd with:  ps auxww | grep -i discoveryd
    sudo killall discoveryd
    sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.discoveryd.plist
    sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.discoveryd.plist
    
    # Mac OS versions without discoveryd
    # Check for mDNSResponder with:  ps auxww | grep -i mDNSResponder
    sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
    sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
    
  • शट डाउन करें और सभी नेटवर्किंग हार्डवेयर रीसेट करें

समस्या चर्चा

मेरे अनुभव में, होस्टनाम को इस तरह सेट करना, या मानक के माध्यम से System Preferences→Sharing→Computer Nameकेवल कुछ समय तक चलता है। यह आमतौर पर <24 घंटे है, लेकिन कभी-कभी ComputerNameयहां तक ​​कि तुरंत कोष्ठकों में एक प्रत्यय संख्या होने के लिए भी बदल जाता है (N)। मैंने देखा है कि यह संख्या तुरंत (4)या तो या (5)हाल ही में scutil --setऊपर दिए गए आदेशों का उपयोग करने के बाद सेट की गई है।

इस व्यवहार का कारण मैक ओएस में चल रहे कुछ डेमन कोड के कारण है जो (N)किसी भी समय एक प्रत्यय को जोड़ने का प्रयास करता है जो नेटवर्क पर एक ही होस्टनाम पाया जाता है। में सभी मेरे परीक्षण के, होस्ट नामों मैं चुन लिया है कभी नेटवर्क पर पहले से इस्तेमाल किया गया है और इसके अलावा था कभी नहीं के रूप में अच्छी तरह से किसी भी ब्लूटूथ डिवाइस के लिए इस्तेमाल किया गया।

इस व्यवहार के "ट्रिगर" का असली कारण अज्ञात और असत्यापित है। यह कहना है: मेरे सभी शोध ऑनलाइन और परीक्षण के माध्यम से मैं निश्चित रूप से यह निर्धारित करने में सक्षम नहीं हूं कि मैक ओएस यह क्यों तय करता है कि नाम पहले से ही उपयोग में है जब यह स्पष्ट रूप से नहीं है और कभी नहीं किया गया है।

मेरा सिद्धांत यह है कि किसी mDNSभी तरह Bonjour( Avahiलिनक्स उपयोगकर्ताओं के लिए, या विंडोज उपयोगकर्ताओं के लिए Zero-confनेटवर्किंग ) के रूप में जाना जाता है , आंशिक रूप से दोष हो सकता है। किसी भी तरह, मैकबुक या एप्पल डिवाइस का पूर्व होस्टनाम कहीं न कहीं लगातार बना रहता है mDNS, या शायद ARPटेबल + होस्टनाम जानकारी का कुछ रूप जिसे मैकबुक या एप्पल डिवाइस द्वारा खोजा और संग्रहीत किया जाता है। यह किसी प्रकार की दौड़ की स्थिति हो सकती है। किसी तरह प्रविष्टि को डुप्लिकेट के रूप में देखा जाता है और मैक ओएस प्रत्यय का नाम बदलने वाले व्यवहार को ट्रिगर करता है।

Apple द्वारा दी गई DNS सेवा डिस्कवरी उपयोगिता का उपयोग करते समय नंबर प्रत्यय होस्टनाम दिखाई देते हैं dns-sd:

उदाहरण के लिए, होस्टनाम का उपयोग करते हुए my-mbp-hostname, यह निम्नलिखित प्रविष्टियों की तरह दिखाई दे सकता है

dns-sd -Z _ssh._tcp
; To direct clients to browse a different domain, substitute that domain in place of '@'
lb._dns-sd._udp                                 PTR     @

; In the list of services below, the SRV records will typically reference dot-local Multicast DNS names.
; When transferring this zone file data to your unicast DNS server, you'll need to replace those dot-local
; names with the correct fully-qualified (unicast) domain name of the target host offering the service.

_ssh._tcp                                       PTR     my-mbp-hostname\032(5)._ssh._tcp
my-mbp-hostname\032(5)._ssh._tcp                           SRV     0 0 22 my-mbp-hostname.local. ; Replace with unicast FQDN of target host
my-mbp-hostname\032(5)._ssh._tcp                           TXT     ""

[...SNIP...]
[...OTHER SSH HOSTS HERE...]
[...SNIP...]

सही कारण का सिद्धांत अपुष्ट है क्योंकि आंतरिक मैक ओएस राज्य और निम्न स्तर के एप्पल ओएस डिबगिंग टूल तक पहुंच के बिना वास्तव में क्या हो रहा है, इसे खोजना और निरीक्षण करना मुश्किल है। के बीच संपर्क mdnsd, mDNSResponderऔर mDNSResponderHelperअन्य मैक ओएस सेवाओं या नेटवर्क पर भी अन्य Avahi डेमॉन के साथ अच्छी तरह से प्रलेखित नहीं कर रहे हैं या आसानी से दिखाई। नेटवर्क खोज के कुछ रूपों की वर्तमान स्थिति को इसके माध्यम से dns-sdऔर arp -aशायद देखा जा सकता है arp -a -n। अन्य सिद्धांत या संभावित स्थान जहाँ यह होस्टनाम जानकारी संग्रहीत की जा सकती है:

  • ब्लूटूथ डिवाइस नाम ओएस द्वारा कहीं कायम है
  • SMB (विंडोज़ फ़ाइल शेयर) नेटवर्क द्वारा समय-समय पर कैश की गई जानकारी smbd( /System/Library/LaunchDaemons/com.apple.smbd.plist)
  • AFP नेटवर्क से साझा की गई जानकारी साझा करें (संभवतः इसके द्वारा भी smbd?)
  • mDNS/ Avahiपरावर्तक (या अन्य प्रकार के बॉनजोर / शून्य-कॉन्फिड पैकेट के राउटर या किसी अन्य डिवाइस द्वारा नेटवर्क पर पुनः प्रसारण)?
    • mDNSResponderया mdnsd( /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist) द्वारा कैश किया जा सकता है

समाधान (प्लेसहोल्डर)

6 अक्टूबर 2017 तक, इस समस्या को फिर से आने से रोकने के लिए अभी भी Apple या कोई उपाय नहीं है। मैं इस समस्या का वर्णन करते हुए Apple के साथ बग रिपोर्ट दर्ज करने की सलाह देता हूं । आप Apple ग्राहक सहायता से संपर्क करना चाह सकते हैं ।

अधिक लोग जो इस कष्टप्रद मुद्दे के बारे में शोर करते हैं, तेजी से Apple उत्पाद प्रबंधक प्राथमिकता देंगे, ताकि इंजीनियर्स इसे ठीक करने में सक्षम होंगे।

डिबगिंग / भविष्य की जांच की लाइनें

इस MacRumors फोरम चर्चा में कुछ उपयोगी जानकारी के साथ-साथ एक सिद्धांत भी जोड़ा गया है कि Wake for Wi-Fi Network Accessडिवाइस और वेक / स्लीप का इस मुद्दे से क्या लेना-देना है। प्रस्तुत अन्य सिद्धांतों को कई नेटवर्क एडेप्टर (जैसे: वाईफाई + थंडरबोल्ट ईथरनेट) का उपयोग करना पड़ता है, ऐसे राउटर जिनके पास कई बैंड 802.11 b/g/n( जैसे 2.4GHz) या 802.11 a/ac(5GHz) पर कई एक्सेस पॉइंट्स होते हैं । ये संयोजन अस्थायी रूप से नेटवर्क पर दिखाने के लिए Apple डिवाइस के "भूत" संस्करण का कारण हो सकता है, नाम बदलने वाले व्यवहार को ट्रिगर करता है।

थे कोई उपयोगी लॉग लाइनों में /var/log/system.logहै कि इस नाम व्यवहार ट्रिगर हो रहा से संबंधित दिखाई दिया। माना जाता है कि mDNSResponderउच्च लॉग स्तरों में कॉन्फ़िगर किया जा सकता है:

  • त्रुटि - त्रुटि संदेश
  • चेतावनी - क्लाइंट-आरंभ किए गए ऑपरेशन
  • नोटिस - नींद प्रॉक्सी ऑपरेशन
  • जानकारी - सूचनात्मक संदेश

गैर-मौजूद फ़ाइल के माध्यम से इन डिबग स्तरों को कैसे सेट /Library/Preferences/com.apple.mDNSResponder.plistकिया जाए, यह स्पष्ट नहीं था। मेरे पास उपयोग करने के लिए एक उत्कृष्ट उदाहरण कॉन्फ़िगरेशन नहीं था, इसलिए मैं किसी भी अतिरिक्त लॉगिंग जानकारी को प्राप्त करने में असमर्थ था mDNSResponder

अन्य ट्रैफ़िक के बीच संभावित रूप से प्रासंगिक ARP पैकेट जानकारी के साथ नेटवर्क पर प्रसारित किए जा रहे पैकेट दिखाने के लिए Wireshark जैसे उपकरण उपयोगी हो सकते हैं mDNS

मैक ओएस पर, dscacheutilइस जानकारी को देखने के लिए अन्य उपकरण जैसे मौजूद हो सकते हैं। यह अच्छी तरह से प्रलेखित या स्पष्ट नहीं है कि इस जानकारी के निश्चित कैश को कैसे देखें, जिसका उपयोग होस्टनाम पुनर्नामकरण कोड द्वारा किया जाता है। जब मैंने इस उपयोगिता का परीक्षण किया, तो यह सटीक होस्टनाम के लिए क्वेरी मोड का उपयोग करने के अलावा किसी भी उपयोगी आउटपुट का उत्पादन नहीं किया (आईपी गोपनीयता के आधार पर स्क्रब किया गया):

sudo dscacheutil -cachedump -entries host
Unable to get details from the cache node
sudo dscacheutil -cachedump
Unable to get details from the cache node
dscacheutil -cachedump
Unable to get details from the cache node
dscacheutil -cachedump -entries host
Unable to get details from the cache node

dscacheutil -q host -a name my-mbp-hostname.local
name: my-mbp-hostname.local
ipv6_address: fe80:4::1a:1234:abcd:ef01
ipv6_address: 2601:280:1b00:1234:567:abcd:ef01:1234

name: my-mbp-hostname.local
ip_address: 192.168.1.123

1
एक समाधान नहीं है, लेकिन विवरण और इतिहास के लिए upvoted है।
अक्टूबर को jontsai

मैं कुछ परीक्षण के बाद कुछ महान प्रारंभिक परिणामों के साथ एक अद्यतन देना चाहता हूं! अब तक मैं इस मुद्दे फसल फिर से के बाद से मैं इस सेटिंग को बदल नहीं देखा है: System Preferences→Energy Saver→Wake for Wi-Fi network access → Unchecked। मुझे लगता है कि मुझे सिस्टम को फिर से रिबूट करने की आवश्यकता है और इसे पूरी तरह से मुझे समझाने के लिए थोड़ी देर के लिए चलने दें ... लेकिन हमारे पास एक समाधान हो सकता है!
ट्रिनिट्रॉनएक्स

उपर्युक्त Wake for Wi-Fi network accessसेटिंग को बदलने के 26 दिन बाद , मुझे यह बताते हुए दुख हो रहा है कि मेरी मैकबुक ने फिर से नाम बदल दिया है! ऐसा प्रतीत होता है कि व्यवहार निश्चित रूप से किसी तरह बोंजोर और एयरप्ले से संबंधित है। 26 दिनों के लिए मैंने बोनजौर का उपयोग करते हुए कई अनुप्रयोगों का उपयोग नहीं किया, सिवाय होस्ट *.localलाइन डीएनएस उपयोगिताओं के कमांड लाइन उपयोगिताओं से। आज, मैंने खोला AirFoilऔरAirFoil Sattelite आवेदन किया और तुरंत देखा कि मेरा होस्टनाम प्रत्यय के साथ बदल गया था (2)। ये एप्लिकेशन बग के लिए प्रजनन परीक्षण का मामला प्रदान कर सकते हैं
त्रिनिट्रॉनएक्स

1

क्या आप दो नेटवर्क उपकरणों का उपयोग कर रहे हैं जो एक ही लैन पर हैं? उदाहरण के लिए, वाईफ़ाई और वायर्ड ईथरनेट? उनमें से एक को अक्षम करने का प्रयास करें। मुझे वह समस्या आती थी और मैं इसे इस तरह से तय करता था।


1
मैं नहीं था, लेकिन अब मैं हूं। डिवाइस आमतौर पर या तो वाईफाई या वायर्ड ईथरनेट के माध्यम से कनेक्ट होते हैं। लेकिन आज मैंने अपने iMac को wifi और ईथरनेट के माध्यम से कनेक्ट करने के लिए, iTunes wifi सिंक को काम करने के प्रयास में बदल दिया है। यह बदलाव नवीनतम iMac नाम बदलने की घटना के बाद किया गया था, इसलिए इस उदाहरण में कारण नहीं होगा।
कैली

1

यहां भी यही समस्या। लेकिन ऐसा लगता है कि foo (2) नाम टाइम मशीन द्वारा स्वीकार किया जाता है और यह अभी भी उसी स्थान पर बैकअप करता है (यह संपूर्ण बैकअप को फिर से नहीं दिखता है, यह जारी है)। तो कोई नुकसान नहीं बेईमानी। मुझे लगता है कि यह कई सक्रिय इंटरफेस से संबंधित है, मैंने अपने बैकअप को गति देने के लिए ईथरनेट को पॉप अप किया।


आप सही हैं कि दो नेटवर्क इंटरफेस होने से ऐसा होने की अधिक संभावना है। यह स्पष्ट है कि यह तब भी होता है जब एक इंटरफ़ेस होता है और एक मशीन राउटर पर डीएचसीपी आरक्षण समय के करीब सोती है।
bmike

0

इसे रोकने का कोई अच्छा तरीका नहीं है। Apple को होस्ट नाम के लिए कोड को बदलना होगा ताकि उपयोगकर्ताओं (लोगों और कार्यक्रमों) को हमेशा होस्ट नाम के साथ प्रस्तुत scutilकिया जाए जो हूड के तहत सभी नामकरण / अनुवाद द्वारा निर्धारित किया गया है।

चूंकि यह कम से कम 2012 से सभी ऐप्पल उत्पाद लाइनों (ऐप्पल टीवी, आईफोन, मैक और संभवतः यहां तक ​​कि ऐप्पल वॉच) पर चल रहा है, यह स्पष्ट नहीं है कि ऐपल इसे निश्चित होने वाली समस्या के रूप में देखता है।


-2

यह संभवतः उस उपयोगकर्ता के साथ करना है जो तब सक्रिय होता है जब आप नेटवर्क में शामिल होते हैं और पहली बार मशीन सेट करते हैं। यह संभव है कि जब आप इन मशीनों का निर्माण कर रहे हों तो आप हमेशा एक ही उपयोगकर्ता के रूप में कर रहे हों

यदि आप एक उपयोगकर्ता बनाते हैं, जैसे कि मैकबुक प्रो, उदाहरण के लिए दिया जाता है, तो मशीन इस प्रकार के नामकरण को ऑटो-कॉन्फ़िगर करेगी:

कंप्यूटर का नाम: dave's मैकबुक प्रो

स्थानीय होस्टनाम: daves-MacBook-Pro.local

और टर्मिनल में, होस्टनाम के रूप में दिखाएगा: daves-mbp

अगली मशीन जिसे आप 'dave' के रूप में लॉग इन करते हैं, एक मैकबुक प्रो भी है, यह बिल्कुल उसी विवरण को सेट करेगा - आप नेटवर्क से कनेक्ट करते हैं और आपको डुप्लिकेट नाम के बारे में संदेश मिलता है।

जहाँ मैं काम करता हूँ हम नाम बदलकर साझा करते हैं तो एक टर्मिनल खोलें और निम्न कमांड चलाएँ: sudo scutil –-set HostName new_hostname

(जहाँ new_hostname आपका चुना हुआ नाम है)

फिर टर्मिनल से बाहर निकलें और पुनरारंभ करें और आप नया होस्टनाम देखेंगे।

जब आप उपयोगकर्ताओं को नई मशीनों पर माइग्रेट कर रहे हैं, तो आपको यह समस्या भी होगी - माइग्रेशन असिस्टेंट / टाइम मशीन नई मशीन का नाम बदल देगी

नामों पर कुछ सामान्य रूप से कमजोर जानकारी - http://support.apple.com/kb/PH13790


यह एक साल पहले या ओपी के मामले में एक मशीन पर दो मशीनों के साथ होता है
user151019

-2

यह दो अतिव्यापी DHCP सर्वर चलाते समय होता है। यदि आप एक से अधिक राउटर (ब्रिज-मोड) का उपयोग कर रहे हैं तो सुनिश्चित करें कि उनमें से केवल एक ही स्थिर आईपी के बिना डीएचसीपी चला रहा है।


1
यहां पर यह मामला नहीं है। मेरे पास एकमात्र डीएचसीपी सर्वर मेरा हवाई अड्डा एक्सट्रीम राउटर है।
कैलेगी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.