কার্যসংক্রান্ত
অন্যান্য ব্যবহারকারীর মতো, আমিও এই বিরক্তিতে জর্জরিত হয়েছি তবে একটি আধা সন্তোষজনক কাজ পেয়েছি:
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
।
এটি যদি সহায়তা না করে, আপনার এমডিএনএস ক্যাশে ফ্লাশ করার চেষ্টা করুন :
# 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
এমডিএনএস ক্যাশে ফ্লাশ করার পরে উপরের কমান্ডগুলি ব্যবহার করে আপনার মেশিনটির পুনরায় নামকরণের চেষ্টা করুন।
এটি যদি এখনও কাজ না করে তবে 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
অ্যাপল প্রদত্ত ডিএনএস পরিষেবা আবিষ্কারের ইউটিলিটিটি ব্যবহার করার সময় প্রত্যয়যুক্ত হোস্টনামগুলি দৃশ্যমান 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
অন্যান্য ম্যাক OS পরিষেবা বা নেটওয়ার্কে এমনকি অন্যান্য নির্মাণের জন্য Avahi ডেমন সঙ্গে তথ্যসমৃদ্ধ না বা সহজে লক্ষণীয়। নেটওয়ার্ক আবিষ্কারের কিছু ফর্মের বর্তমান অবস্থা dns-sd
এবং arp -a
সম্ভবত বা সম্ভবত দেখা যেতে পারে arp -a -n
। অন্যান্য তত্ত্ব বা সম্ভাব্য জায়গাগুলি যেখানে এই হোস্টনামের তথ্য সংরক্ষণ করা যেতে পারে তা হ'ল:
- ব্লুটুথ ডিভাইসের নাম কোথাও ওএস দ্বারা জারি রয়েছে
- এসএমবি (উইন্ডোজ ফাইল ভাগ করে নেওয়ার) মাধ্যমে নেটওয়ার্ক থেকে পর্যায়ক্রমে ক্যাশে করা তথ্য
smbd
( /System/Library/LaunchDaemons/com.apple.smbd.plist
)
- নেটওয়ার্ক থেকে ক্যাশ এএফপি ভাগ করে নেওয়ার তথ্য (সম্ভবত এটি দ্বারা
smbd
?)
mDNS
/ Avahi
রিফ্লেক্টর (বা রাউটার বা অন্য কোনও ডিভাইস দ্বারা নেটওয়ার্কে বনজৌর / জিরো-কনফ প্যাকেটের অন্য ধরণের পুনঃ সম্প্রচার)?
mDNSResponder
বা দ্বারা ক্যাশে করা যেতে পারে mdnsd
( /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
)
সমাধান (স্থানধারক)
অক্টোবর 6 ষ্ঠ 2017 পর্যন্ত, অ্যাপল থেকে এখনও কোনও সম্পূর্ণ সমাধান বা এই সমস্যাটিকে পুনরায় সংঘটিত হওয়া থেকে রোধ করার প্রতিকার নেই। আমি এই সমস্যাটি বর্ণনা করে অ্যাপলের সাথে একটি বাগ রিপোর্ট ফাইল করার পরামর্শ দিচ্ছি । আপনি অ্যাপল গ্রাহক সহায়তার সাথে যোগাযোগ করতেও পারেন ।
এই বিরক্তিকর সমস্যাটি সম্পর্কে যত বেশি লোক শব্দ করেন, অ্যাপল প্রোডাক্ট ম্যানেজারগুলি তত দ্রুত অগ্রাধিকার দেবে তাই ইঞ্জিনিয়াররা এটি ঠিক করতে সক্ষম হবে।
ডিবেগিং / তদন্তের ভবিষ্যত লাইন
এই ম্যাকরুমারস ফোরাম আলোচনার সাথে কিছু তাত্পর্যপূর্ণ তথ্য রয়েছে পাশাপাশি একটি তত্ত্ব যুক্ত করা হয়েছে যা Wake for Wi-Fi Network Access
এবং ডিভাইস ওয়েক / স্লিপকে এই সমস্যাটির সাথে কিছু করার আছে। উপস্থাপিত অন্যান্য তত্ত্বগুলি একাধিক নেটওয়ার্ক অ্যাডাপ্টার (যেমন: ওয়াইফাই + থান্ডারবোল্ট ইথারনেট), এমন রাউটারগুলির সাথে একাধিক ব্যান্ডের বিজ্ঞাপন যেমন 802.11 b/g/n
(২.৪ গিগাহার্টজ) বা 802.11 a/ac
(৫ জিগাহার্টজ) ব্যবহার করে। এই সমন্বয় পারে একরকম সাময়িকভাবে নেটওয়ার্কে আপ দেখানোর জন্য, পুনঃনামকরনের আচরণ triggering অ্যাপল ডিভাইস একটি "প্রেতাত্মা" সংস্করণ হতে পারে।
ছিল কোন দরকারী লগ লাইন মধ্যে /var/log/system.log
যে এই পুনঃনামকরনের আচরণ আলোড়ন সৃষ্টি হচ্ছে এর সাথে সম্পর্কিত হাজির। মনে mDNSResponder
হয় উচ্চতর লগ স্তরে কনফিগার করা যেতে পারে:
- ত্রুটি - ত্রুটি বার্তা
- সতর্কতা - ক্লায়েন্ট-সূচিত ক্রিয়াকলাপ
- বিজ্ঞপ্তি - স্লিপ প্রক্সি অপারেশন
- তথ্য - তথ্যমূলক বার্তা
এই ডিবাগ স্তরগুলি কীভাবে সম্ভবত অস্তিত্বহীন ফাইলের মাধ্যমে সেট /Library/Preferences/com.apple.mDNSResponder.plist
করা যায় তা পরিষ্কার ছিল না। আমার ব্যবহারের জন্য প্লাস্ট উদাহরণ কনফিগারেশন নেই, সুতরাং আমি কোনও অতিরিক্ত লগিংয়ের তথ্য বের করতে পারিনি mDNSResponder
।
অন্যান্য ট্র্যাফিকের মধ্যে অন্যান্য সম্ভাব্য প্রাসঙ্গিক এআরপি প্যাকেট সম্পর্কিত তথ্যের সাথে নেটওয়ার্কে প্যাকেট সম্প্রচারিত হওয়ার জন্য ওয়্যারশার্কের মতো সরঞ্জামগুলি কার্যকর হতে পারে 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