آموزش تغییر Hostname در لینوکس پرینت

  • تغییر Hostname, تغییر Hostname در لینوکس, تغییر نام سرور لینوکس, تغییر نام سرور, تغییر hostname, تغییر hostname اوبونتو, تغییر hostname AlmaLinux
  • 0

Hostname در لینوکس نامی است که برای شناسایی یک سرور یا سیستم در شبکه استفاده می‌شود. این نام معمولاً هنگام نصب سیستم‌عامل تعیین می‌شود، اما در بسیاری از مواقع لازم است بعداً آن را تغییر دهید.

برای مثال ممکن است بخواهید نام سرور را بر اساس کاربرد آن، موقعیت دیتاسنتر، پروژه یا ساختار داخلی شبکه تنظیم کنید.

در این آموزش نحوه تغییر Hostname در Ubuntu، Debian، AlmaLinux، Rocky Linux و CentOS را بررسی می‌کنیم.

بررسی Hostname فعلی

برای مشاهده Hostname فعلی سرور می‌توانید دستور زیر را اجرا کنید:

hostname

همچنین دستور زیر اطلاعات کامل‌تری نمایش می‌دهد:

hostnamectl

خروجی ممکن است مشابه زیر باشد:

Static hostname: server-old
Operating System: AlmaLinux 9
Kernel: Linux
Architecture: x86-64

در این مثال Hostname فعلی سرور برابر است با:

server-old

روش اول: تغییر Hostname با hostnamectl

در اکثر توزیع‌های جدید لینوکس، ساده‌ترین روش استفاده از دستور hostnamectl است.

برای مثال اگر بخواهید نام سرور را به server01 تغییر دهید، دستور زیر را اجرا کنید:

hostnamectl set-hostname server01

سپس برای بررسی تغییرات:

hostnamectl

یا:

hostname

در صورت موفقیت باید نام جدید را مشاهده کنید.

انتخاب Hostname مناسب

بهتر است Hostname کوتاه، مشخص و بدون فاصله باشد.

برای مثال:

web01

یا:

db01

یا:

ir-server-01

در صورت استفاده از نام کامل دامنه نیز می‌توانید مقدار FQDN وارد کنید:

server01.example.com

برای مثال:

hostnamectl set-hostname server01.example.com

مرحله دوم: ویرایش فایل hosts

بعد از تغییر Hostname بهتر است فایل /etc/hosts را نیز بررسی کنید.

فایل را باز کنید:

nano /etc/hosts

ممکن است محتوایی مشابه زیر داشته باشد:

127.0.0.1   localhost
127.0.1.1   server-old

نام قبلی را به نام جدید تغییر دهید:

127.0.0.1   localhost
127.0.1.1   server01

اگر از FQDN استفاده می‌کنید می‌توانید به شکل زیر تنظیم کنید:

127.0.1.1   server01.example.com server01

سپس فایل را ذخیره کنید.

بررسی فایل /etc/hostname

در بسیاری از توزیع‌ها، Hostname داخل فایل زیر نیز ذخیره می‌شود:

cat /etc/hostname

خروجی باید نام جدید سرور باشد:

server01

اگر مقدار قدیمی را مشاهده کردید می‌توانید فایل را ویرایش کنید:

nano /etc/hostname

و Hostname جدید را وارد کنید.

در سیستم‌هایی که از hostnamectl استفاده می‌کنند معمولاً این فایل به‌صورت خودکار به‌روزرسانی می‌شود.

آیا نیاز به Reboot است؟

در بیشتر سیستم‌های جدید، تغییر Hostname با hostnamectl بدون Reboot اعمال می‌شود.

با این حال ممکن است ترمینال یا برخی سرویس‌ها همچنان نام قبلی را نمایش دهند.

برای مشاهده فوری تغییر می‌توانید یک بار از SSH خارج شده و دوباره وارد شوید.

در صورت نیاز نیز می‌توانید سرور را Reboot کنید:

reboot

تست Hostname جدید

بعد از اعمال تغییرات، دستورهای زیر را اجرا کنید:

hostname

و:

hostnamectl

همچنین می‌توانید از دستور زیر استفاده کنید:

hostname -f

اگر FQDN به‌درستی تنظیم شده باشد، نام کامل دامنه نمایش داده می‌شود.

تغییر Hostname موقت

اگر فقط می‌خواهید Hostname را تا زمان Reboot تغییر دهید، می‌توانید از دستور زیر استفاده کنید:

hostname temporary-name

برای مثال:

hostname test-server

این تغییر دائمی نیست و پس از Reboot معمولاً مقدار قبلی بازمی‌گردد.

برای تغییر دائمی بهتر است از hostnamectl استفاده کنید.

تغییر Hostname در Ubuntu و Debian

در Ubuntu و Debian معمولاً دستور زیر کافی است:

hostnamectl set-hostname server01

سپس فایل /etc/hosts را بررسی کنید:

nano /etc/hosts

و مطمئن شوید Hostname جدید به‌درستی درج شده باشد.

تغییر Hostname در AlmaLinux و Rocky Linux

در AlmaLinux و Rocky Linux نیز می‌توانید از همین دستور استفاده کنید:

hostnamectl set-hostname server01

سپس وضعیت را بررسی کنید:

hostnamectl status

در صورت نیاز فایل hosts را نیز ویرایش کنید:

nano /etc/hosts

تفاوت Hostname و FQDN

Hostname معمولاً نام کوتاه سیستم است.

برای مثال:

server01

اما FQDN یا Fully Qualified Domain Name نام کامل سرور همراه با دامنه است.

برای مثال:

server01.example.com

در سرورهایی که برای Mail Server، کنترل پنل‌های هاستینگ یا برخی سرویس‌های شبکه استفاده می‌شوند، تنظیم صحیح FQDN اهمیت بیشتری دارد.

خطای sudo: unable to resolve host

گاهی اوقات بعد از تغییر Hostname با خطایی مشابه زیر مواجه می‌شوید:

sudo: unable to resolve host server01

این خطا معمولاً به دلیل عدم تطابق Hostname با فایل /etc/hosts رخ می‌دهد.

برای رفع مشکل فایل زیر را باز کنید:

nano /etc/hosts

و مطمئن شوید نام جدید سرور در آن وجود دارد.

برای مثال:

127.0.1.1   server01

سپس مجدداً دستور موردنظر را اجرا کنید.

نکات مهم هنگام تغییر Hostname

قبل از تغییر نام سرور بهتر است این موارد را در نظر بگیرید:

  • در سرورهای Mail، تغییر Hostname می‌تواند روی تنظیمات ایمیل اثر بگذارد.
  • در سرورهای دارای cPanel، DirectAdmin یا سایر کنترل پنل‌ها باید تنظیمات Hostname خود کنترل پنل نیز بررسی شود.
  • در برخی سرویس‌ها نام Hostname داخل فایل‌های تنظیمات ذخیره شده است.
  • اگر از FQDN استفاده می‌کنید بهتر است DNS مربوط به آن نیز به IP سرور اشاره کند.
  • فایل /etc/hosts را بعد از تغییر حتماً بررسی کنید.

جمع‌بندی

برای تغییر دائمی Hostname در اکثر توزیع‌های جدید لینوکس، ساده‌ترین دستور زیر است:

hostnamectl set-hostname NEW_HOSTNAME

برای مثال:

hostnamectl set-hostname server01

سپس فایل /etc/hosts را بررسی کرده و در پایان با دستور زیر نتیجه را مشاهده کنید:

hostnamectl

در بیشتر موارد نیازی به Reboot نیست، اما خروج و ورود مجدد به SSH باعث می‌شود نام جدید در ترمینال نیز نمایش داده شود.


آیا این پاسخ به شما کمک کرد؟

« برگشت