Bilgisayar adımın otomatik olarak ve yanlış bir şekilde değişmesini nasıl önleyebilirim?


19

2009 iMac'imi Mavericks'e yükselttiğimden beri, sık sık 'Bilgisayarınızın adı "Foo" bu ağda kullanılıyor. Adı "Foo (2)" olarak değiştirildi. Aynı hata devam ettiği için, sondaki sayı zaman içinde sürekli artacaktır.

Bilgisayarı yeniden adlandırmak önemsizdir, ancak bunun gelecekte olmasını önlemenin bir yolu var mı? Aynı sorunu olan eski bir Macbook Pro'm vardı (Mountain Lion çalıştıran), ancak 2013 başlarında Mavericks çalıştıran MBP'm bu sorundan muzdarip görünmüyor.


Adı gerçekten boş bir dize mi? Öyleyse, bilgisayar adınızı değiştirirseniz ne diyor?
0942v8653

Hayır, bilgisayarımın adı (bok, yazdığım metnin kaldırıldığını görüyorum. Köşeli parantez nedeniyle şüphesiz). Örneğin, bilgisayar adım 'Foo' ise, bilgisayarım 'Foo (2)' olarak adlandırılacaktır.
Mart'ta Cleggy

Boş bir dize gösterilmediğini açıklığa kavuşturmak için soruyu düzenledim.
Mart'ta Cleggy

Bu, yaşadığınız sorunla aynı olabilir. Ayrıca çalıştırmayı scutil --get ComputerNameve hostnameTerminal'de deneyin . (Ayrıca değişip değişmediğini görmek için IP adresinizi de takip etmelisiniz) Bunun yönlendiriciniz veya DHCP'nizde bir şey olduğunu düşünüyorum ve NetBIOS adları çok uzun süre önbelleğe alınabilir.
0942v8653

1
Hala cevap yok? Bu hala 2011'in sonlarında MacBook Pro 17 "işletim sisteminde OS X 10.10.4 ile oluyor. Wi-fi ve ethernet'e aynı anda bağlanmakla ilgili bir şey olabilir, ancak OS X'in anlayamayacağı bir acı Bu kendi başına
Brent Faust

Yanıtlar:


5

Geçici çözüm

Diğer kullanıcılar gibi, bu sıkıntıdan rahatsızım ama yarı tatmin edici bir geçici çözüm buldum:

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

Bu komutu çalıştırdıktan sonra, ana bilgisayar adını depoladıkları tüm yerlerin bu tek astarla aynı olup olmadığını kontrol edebilirsiniz:

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

Macbook hemen yeniden adlandırma devam ederse ComputerNamebir sonek ile geri, sen mümkün olabilir o kapatarak durdur Wake for Network Access.

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

Bir kez kapatıldığında, bitirmek için yukarıdaki komutları kullanarak makinenizi yeniden adlandırın. Metin alanı tercihini ComputerNamekullanarak da zorlamayı deneyebilirsiniz System Preferences→Sharing→Computer Name.

Bu yardımcı olmadıysa , mDNS önbelleğinizi temizlemeyi deneyin :

# 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 önbelleğini temizledikten sonra, yukarıdaki komutları kullanarak makinenizi yeniden adlandırmayı tekrar deneyin.

Bu yine de işe yaramadıysa, mDNSResponderhizmeti öldürmeyi deneyin :

sudo killall -HUP mDNSResponder

Ardından, yukarıdaki scutilkomutları kullanarak bilgisayar adınızı sıfırlamak için tekrar deneyin .

Bunların hiçbirinin işe yaramadığını fark ederseniz, aşağıdakileri içeren rapor edilmiş başka çözümler de vardır:

  • Yerel ağla yalnızca bir bağlantınız olduğundan emin olun
  • Bonjour'u kapatıp tekrar açın

    # 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
    
  • TÜM ağ donanımlarını kapatın ve sıfırlayın

Sorun Tartışması

Deneyimlerime göre, ana makine adını bu şekilde veya standart yoluyla ayarlamak System Preferences→Sharing→Computer Namesadece kısa bir süre sürer. Bu genellikle <24 saattir, ancak bazen ComputerNameparantez içinde son eklenmiş bir sayı olması için hemen değişir (N). Yukarıdaki komutları kullandıktan sonra bu sayının hemen (4)veya (5)son zamanlarda olarak ayarlandığını gözlemledim scutil --set.

Bu davranışın nedeni, Mac'te çalışan (N)ve aynı ana bilgisayar adının ağda her bulunuşunda numaralı bir sonek eklemeye çalışan bazı arka plan kodlarından kaynaklanmaktadır . In ALL benim test, benim seçimim hostnames gelmiş ASLA ağda önce kullanılmış ve ek vardı ASLA herhangi bir Bluetooth cihazları için kullanılan yanı olmuştur.

Bu davranışın "tetikleyicisi" nin gerçek nedeni bilinmemektedir ve doğrulanmamıştır. Yani, tüm araştırmalarım ve testlerim boyunca, Mac OS'un açıkça AÇIK OLMADI ve hiç olmadığı zaman adın neden kullanıldığına karar verdiğini kesin olarak belirleyemedim.

Benim teorim, bir şekilde ( Linux kullanıcıları veya Windows kullanıcıları için Ağ Oluşturma ) mDNSolarak da bilinir . Her nasılsa, Macbook veya Apple cihazının önceki ana bilgisayar adı, Macbook veya Apple cihazı tarafından keşfedilen ve depolanan bir yerde veya belki de tablo + ana bilgisayar adı bilgilerinin bir yerinde kalıyor. Bu bir çeşit yarış durumu olabilir. Giriş her nasılsa yineleniyor ve Mac OS soneki yeniden adlandırma davranışını tetikliyor.BonjourAvahiZero-confmDNSARP

Apple tarafından sağlanan DNS Hizmeti Bulma yardımcı programı kullanılırken, son eklenmiş ana bilgisayar adları görünür dns-sd:

Örneğin, ana bilgisayar adını kullanarak my-mbp-hostnameaşağıdaki girişler gibi görünebilir

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...]

Gerçek neden teorisi, dahili Mac OS durumuna ve düşük seviyeli Apple OS hata ayıklama araçlarına erişim olmadan gerçekte neler olduğunu bulmak ve gözlemlemek zor olduğu için doğrulanmamıştır. Arasındaki etkileşimler mdnsd, mDNSResponderve mDNSResponderHelperdiğer Mac OS hizmetler veya ağ üzerindeki hatta diğer Avahi cinleri ile iyi belgelenmiş veya kolayca gözlemlenebilir değildir. Bazı ağ keşif biçimlerinin mevcut durumu dns-sdve / arp -aveya belki görüntülenebilir arp -a -n. Bu ana bilgisayar adı bilgilerinin depolanabileceği diğer teoriler veya potansiyel yerler şunlar olabilir:

  • Bluetooth cihaz adları işletim sistemi tarafından bir yerde devam etti
  • SMB (windows dosya paylaşımı) bilgileri ağdan periyodik olarak smbd( /System/Library/LaunchDaemons/com.apple.smbd.plist) tarafından önbelleğe alındı
  • Ağdan önbelleğe alınan AFP paylaşım bilgileri (muhtemelen smbd?
  • mDNS/ Avahireflektör (veya ağdaki bir yönlendirici veya başka bir cihaz tarafından Bonjour / sıfır conf paketlerinin başka bir şekilde yeniden yayınlanması)?
    • mDNSResponderVeya mdnsd( /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist) tarafından önbelleğe alınabilir

Çözüm (yer tutucu)

6 Ekim 2017 itibariyle, Apple'dan hala tam bir çözüm veya bu sorunun tekrarlanmasını önlemek için bir çözüm yok. Apple'a bu sorunu açıklayan bir Hata Raporu göndermenizi öneririm . Apple Müşteri Desteği ile de iletişime geçmek isteyebilirsiniz .

Bu can sıkıcı sorun hakkında ne kadar çok insan gürültü çıkarırsa, Apple Ürün Yöneticileri o kadar hızlı önceliğe sahip olur, böylece Mühendisler sorunu çözebilir.

Hata Ayıklama / Gelecek Araştırma Hatları

Bu MacRumors Forum Tartışmasının bazı yararlı bilgileri olduğu gibi, Wake for Wi-Fi Network AccessWake / Sleep cihazının bu sorunla ilgisi olan bir teori eklemesi de vardır. Sunulan diğer teorilerin birden çok ağ bağdaştırıcısı (örn: WiFi + Thunderbolt Ethernet), 802.11 b/g/n(2.4GHz) veya 802.11 a/ac(5GHz) gibi birden çok bantta reklamı yapılan birden çok Erişim Noktası olan yönlendiriciler kullanılmasıyla ilgilidir . Bu kombinasyonlar olabilir adlandırma davranışını tetikleme, bir şekilde geçici olarak ağda göstermek Apple cihazı bir "hayalet" versiyonunu neden olur.

Orada hiçbir yararlı günlük hatları içinde /var/log/system.logbu adlandırma davranışı tetiklenen ilgili yazı. Sözde mDNSResponderdaha yüksek günlük seviyelerine yapılandırılabilir:

  • Hata - Hata mesajları
  • Uyarı - İstemci tarafından başlatılan işlemler
  • Bildirim - Uyku proxy işlemleri
  • Bilgi - Bilgi mesajları

Bu hata ayıklama düzeylerini belki var olmayan bir dosyadan başka bir yolla nasıl ayarlayacağınız /Library/Preferences/com.apple.mDNSResponder.plistbelli değildi. Kullanmak için plist örnek yapılandırma yoktu, bu yüzden herhangi bir ekstra günlük bilgisi alamadım mDNSResponder.

Wireshark gibi araçlar mDNSağda yayınlanmakta olan paketlerin yanı sıra diğer trafik arasında potansiyel olarak alakalı diğer ARP paket bilgilerinin gösterilmesi için de yararlı olabilir .

Mac OS'de, dscacheutilbu bilgileri görüntülemek için başka araçlar bulunabilir. Ana bilgisayar adı yeniden adlandırma kodu tarafından kullanılan bu bilgilerin kesin önbelleğinin nasıl görüntüleneceği iyi belgelenmemiştir veya net değildir. Bu yardımcı programı sınadığımda, tam ana bilgisayar adı (gizlilik için temizlenen IP'ler) için sorgu modunu kullanma dışında herhangi bir yararlı çıktı üretmedi:

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
Bir çözüm değil, detaylar ve tarih için onaylandı.
jontsai

Bazı testlerden sonra bazı harika ön sonuçlar içeren bir güncelleme vermek istiyorum! Ben bu ayarı değişti beri Şimdiye kadar yukarı tekrar konu mahsul görmedim: System Preferences→Energy Saver→Wake for Wi-Fi network access → Unchecked. Sanırım sistemi yeniden başlatmam ve beni tamamen ikna etmek için bir süre çalışmasına izin vermem gerekiyor ... ama bir çözümümüz olabilir!
TrinitronX

Yukarıda belirtilen Wake for Wi-Fi network accessayarı değiştirdikten 26 gün sonra , macbook'umun adını tekrar değiştirdiğini bildirmekten üzgünüm! Davranışın kesinlikle bir şekilde Bonjour ve AirPlay ile ilişkili olduğu görülmektedir. 26 gün boyunca *.local, komut satırı yardımcı programlarından belki ana bilgisayar adı DNS aramaları dışında Bonjour kullanan birçok uygulamaya erişmedim. Bugün, uygulamaları açtım AirFoilveAirFoil Sattelite hemen ana bilgisayar adımın sonekle değiştiğini fark ettim (2). Bu uygulamalar hata için bir üreme testi durumu sağlayabilir
TrinitronX

1

Aynı LAN üzerinde olan iki ağ cihazı mı kullanıyorsunuz? Örneğin, wifi ve kablolu ethernet? Bunlardan birini devre dışı bırakmayı deneyin. Eskiden bu problemi yaşardım ve bu şekilde düzelttim.


1
Değildim, ama şimdi. Cihazlar genellikle wifi veya kablolu ethernet üzerinden bağlanır. Ama bugün iTunes wifi senkronizasyonunu çalıştırmak için iMac'imi wifi ve ethernet üzerinden bağlanacak şekilde değiştirdim. Bu değişiklik, en son iMac yeniden adlandırma olayından sonra yapıldı, bu nedenle bu durumda neden olmaz.
Cleggy

1

Burada da aynı problem. Ama öyle görünüyor ki foo (2) adı zaman makinesi tarafından kabul edildi ve hala aynı yere yedeklemeyi yapıyor (tüm yedeklemeyi yeniden yapmıyor gibi görünüyor, devam ediyor). Yani zarar yok faul yok. Birden fazla aktif arayüzle ilgili olduğunu düşünüyorum, yedeklememi hızlandırmak için ethernet'i açtım.


İki ağ arabirimine sahip olmanın, bunun gerçekleşme olasılığını artırdığı doğru. Bir arabirim olduğunda ve bir makine yönlendiricideki DHCP rezervasyon süresine yakın bir süre uyuduğunda da açıktır.
bmike

0

Bunu durdurmanın iyi bir yolu yok. Apple, ana bilgisayar adının kodunu değiştirmek zorunda kalacak, böylece kullanıcılar (insanlar ve programlar) her zaman tarafından ayarlanan ana bilgisayar adıyla sunulur scutilve başlık altında tüm yeniden adlandırma / çeviriyi yapar.

Bu, en azından 2012'den beri tüm Apple ürün serilerinde (Apple TV, iPhone, Mac ve muhtemelen Apple Watch) devam ettiği için, Apple'ın bunu bir sorun olarak gördüğü açık değil.


-2

Bu muhtemelen ağa katıldığınızda ve makineyi ilk kez kurduğunuzda aktif olan kullanıcı ile ilgilidir. Bu makineleri inşa ederken her zaman aynı kullanıcı olarak yaptığınız muhtemeldir.

Örneğin bir MacBook Pro, örneğin dave on kullanıcısı oluşturursanız, makine adlandırma işlemini aşağıdaki gibi otomatik olarak yapılandıracaktır:

Bilgisayar Adı: dave's MacBook Pro

yerel ana bilgisayar adı: daves-MacBook-Pro.local

ve Terminal'de ana bilgisayar adı şu şekilde gösterilir: daves-mbp

'Dave' olarak oturum açtığınız bir sonraki makinenin de bir MacBook Pro olduğunu varsayarsak, tam olarak aynı ayrıntıları ayarlar - ağa bağlanırsınız ve yinelenen adla ilgili mesaj alırsınız.

Çalıştığım yerde Paylaşım'daki adı değiştirip bir terminal açıp şu komutu çalıştırıyoruz: sudo scutil –-set HostName new_hostname

(burada new_hostname seçtiğiniz addır)

Ardından terminalden çıkıp yeniden başlatın ve yeni ana bilgisayar adını göreceksiniz.

Kullanıcıları yeni makinelere taşırken bu sorunu da alacaksınız - geçiş asistanı / time Machine yeni makineyi yeniden adlandıracak

isimlerle ilgili genelde zayıf bazı bilgiler - http://support.apple.com/kb/PH13790


Bu, bir yıl önce kurulmuş iki makine veya
OPs

-2

Bu, çakışan iki DHCP sunucusu çalıştırıldığında oluşur. Birden fazla yönlendirici (köprü modu) kullanıyorsanız, bunlardan yalnızca birinin statik IP olmadan DHCP kullandığından emin olun.


1
Burada durum böyle değil. Sahip olduğum tek DHCP sunucusu, Airport Extreme yönlendiricim.
Cleggy
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.