پرامپتی که قبلاً یک چیز را نشان می‌داد اکنون چیز دیگری نشان می‌دهد، و اتصالی که تغییر کرد یک VPN بود. این همهٔ شواهدی است که بیشتر مردم پیش از نتیجه‌گیری دربارهٔ تغییر نام مک دارند، و کافی نیست. macOS دست‌کم سه مقدار نام جداگانه ذخیره می‌کند که هر یک کار متفاوتی دارد، و پرامپت پوسته حداکثر یکی از آن‌ها را به شکلی نشان می‌دهد که به‌راحتی بد خوانده می‌شود.

مقایسهٔ آن‌ها سه فرمان می‌خواهد و پیش از آنکه کسی چیزی را ویرایش کند، پرسش را روشن می‌کند.

سه مقدار، سه کار

هر سه رشته‌هایی هستند که سیستم با کمال میل گزارش می‌کند، و وسوسه آن است که اولین مقداری را که می‌یابید معتبر بپندارید. این‌گونه کاربر در نهایت فیلد اشتباه را «درست می‌کند» و می‌بیند که نشانه باقی می‌ماند.

ValueWhat it is responsible for
ComputerNameThe friendly name a person sees in About and on the network browser; this is the one users mean by "my Mac's name"
LocalHostNameThe Bonjour name used on the local link, usually shown with a .local suffix in Sharing
HostNameAn explicitly configured host name that may simply not be set at all

ردیف سوم جایی است که بیشترین سردرگمی آغاز می‌شود. HostName تنظیم‌نشده وضعیتی عادی است، نه خرابی، و یعنی سیستم هنگامی که به نام میزبان نیاز دارد به منابع دیگر تکیه می‌کند. خواندن این خالی بودن به‌عنوان آسیب به اصلاحی می‌انجامد که هرگز لازم نبود. همچنین پرسش واقعی را پنهان می‌کند، که این نیست که دستگاه چه نامیده می‌شود بلکه این است که یک جست‌وجو یا پرامپت مشخص در آن لحظه از کدام نام استفاده می‌کند. به آن پاسخ دهید، و مقدار خالی دیگر شبیه عیب به نظر نمی‌رسد.

پیش از نوشتن بخوانید

این سه فرمان تنها مقدارها را گزارش می‌کنند. چیزی را تغییر نمی‌دهند، و همین اجرای آن‌ها را در طول یک بررسی بی‌خطر می‌کند.

scutil --get ComputerName
scutil --get LocalHostName
scutil --get HostName

آن‌ها را در همان نشست محلی پیش و پس از یک اتصال VPN مجاز اجرا کنید و توجه کنید کدام مقدار واقعاً متفاوت است. اگر هیچ چیز متفاوت نیست و پرامپت هنوز اشتباه به نظر می‌رسد، نام هرگز مشکل نبوده است: چیزی در پیکربندی پوسته یا در نشست راه دور رشتهٔ دیگری را نشان می‌دهد.

راهنمای Apple دربارهٔ نام رایانه‌ها و نام‌های میزبان محلی نام دوستانه را زیر General و About و نام محلی را زیر General و Sharing قرار می‌دهد. همچنین پسوند خودکاری را مستند می‌کند که وقتی مک دیگری روی همان پیوند از پیش نامی دارد افزوده می‌شود، و دانستن آن پیش از آنکه شماره‌ای غیرمنتظره را نشانهٔ دستکاری بدانید ارزش دارد.

پرامپت پوسته در واقع چه چیزی را اثبات می‌کند

پرامپت رشته‌ای است که پوسته می‌سازد، و عنصر نام میزبان آن می‌تواند از نام میزبان گسترش‌یافته، از شکل کوتاه‌شدهٔ آن، یا از مقداری که در پروندهٔ پروفایل سخت‌کد شده آمده باشد. همچنین می‌تواند به نشست SSH روی دستگاهی کاملاً دیگر تعلق داشته باشد، که کم‌جلوه‌ترین توضیح و به‌مراتب رایج‌ترین توضیح برای پرامپتی است که درست در لحظهٔ اتصال VPN تغییر کرد.

پیش از بررسی اینکه چه نامیده می‌شوید بررسی کنید کجا هستید. hostname را اجرا کنید و آن را با سه مقدار ذخیره‌شده مقایسه کنید، سپس تنظیم پرامپت پوسته را ببینید تا بدانید آیا اصلاً میزبان را نشان می‌دهد. اگر پرامپت رشته‌ای تحت‌اللفظی دارد که کسی سال‌ها پیش در پروندهٔ پیکربندی تایپ کرده است، هیچ تغییر سیستمی هرگز آن را منطبق نخواهد کرد.

مقایسه برای گزارش‌دهی هم مهم است. پرامپتی که متفاوت به نظر می‌رسد و ComputerName ذخیره‌شده‌ای که واقعاً تغییر کرده دو یافته با دو مالک متفاوت‌اند، و ادغام آن‌ها در یک جمله مهندس بعدی را به جای اشتباه می‌فرستد.

کجا VPN می‌تواند به‌طور مشروع به نام‌گذاری دست بزند

VPN تغییر می‌دهد کدام resolverها و دامنه‌های جست‌وجو مرتبط‌اند، و اگر کلاینت برای پذیرش یکی پیکربندی شده باشد می‌تواند از طریق DHCP نام میزبان به آن بدهد. این سازوکاری واقعی است و از «VPN نام مک من را تغییر داد» محدودتر است. اینکه resolver تغییر کند کدام نام برای یک نشانی معین حل می‌شود، مقادیر محلی ذخیره‌شده را بازنویسی نمی‌کند.

پس دو پرسش را جدا کنید. آیا هویت خود دستگاه متفاوت است، یا نامی که برای رسیدن به چیز دیگری به کار می‌برد متفاوت است؟ پرسش نخست با سه مقدار ذخیره‌شده پاسخ می‌گیرد؛ پرسش دوم با جست‌وجوهای DNS و با پروفایل اتصال در حال استفاده. برخورد با آن‌ها به‌عنوان یک پرسش، تغییر تنظیمات هویت را در پاسخ به مشکلی در حل نام تولید می‌کند.

اگر واقعاً نام میزبان دائمی لازم است

تعیین یک مقدار اقدامی اداری و آگاهانه است، نه ترجیحی ظاهری، و مقدار باید از کسی بیاید که سیاست نام‌گذاری دستگاه را در اختیار دارد. بازنویسی یک نام مدیریت‌شده تا پرامپت آشنا به نظر برسد می‌تواند بررسی گواهی‌ها، پایش و هر چیز دیگری که میزبان را شناسایی می‌کند بشکند.

جایی که تغییر واقعاً لازم است، همان ابزاری که مقدارها را خوانده آن‌ها را می‌نویسد، و HostName نام کاملاً واجد شرایط را می‌پذیرد در حالی که دو مقدار دیگر شکل‌های محلی را انتظار دارند. ثبت کنید چه چیزی را و چرا تغییر دادید، چون این دقیقاً همان نوع ویرایشی است که نفر بعدی را که به دستگاه نگاه می‌کند غافلگیر می‌کند.

برای بیشتر گزارش‌ها پاسخ درست کوچک‌تر از آن است که پرسش پیشنهاد می‌کند: هر سه مقدار را بخوانید، مشخص کنید کدام متفاوت است، و تنها همان را اصلاح کنید. پرامپت نشانهٔ چیزی بود، و سه فرمان به شما می‌گویند چه چیزی.

مقالات مرتبط