آموزش تغییر Hostname در اوبونتو، دبیان، CentOS و RHEL
تغییر Hostname در سیستم عامل لینوکس یکی از عملیات پایهای و مهم در مدیریت سرورها و دستگاههای شبکه است. Hostname، نام یک دستگاه یا سرور در شبکه را نشان میدهد و در ارتباط با آدرس IP دستگاه قرار میگیرد. تغییر Hostname به شما امکان میدهد نام دستگاه را با توجه به نیازهای خود و محیط شبکه تغییر دهید و از طریق این نام شناخته شوید.
Hostname نام دستگاه در شبکه است که برای شناسایی آن استفاده میشود و تغییر آن میتواند به منظور شناسایی و مدیریت بهتر دستگاه، سازماندهی مناسب و رفع تداخل نام در شبکه مفید باشد.
در این مقاله، قصد داریم به شما روشهای مختلف تغییر Hostname در لینوکس اوبونتو، دبیان، CentOS و RHEL را آموزش دهیم. از روشهای پایه و خط فرمانی تا استفاده از فایلهای تنظیمات، همه جزئیاتی که برای تغییر Hostname در نظر بگیرید را بررسی خواهیم کرد. همچنین، به شما نکاتی را نیز خواهیم آموخت که در هنگام تغییر Hostname باید به آن ها توجه کنید تا از هرگونه مشکل در شبکه جلوگیری کنید.
پیش از شروع، مهم است که دسترسی به سیستم عامل لینوکس و مفاهیم اولیه آن را آشنا باشید. همچنین، برای انجام تغییرات مربوط به Hostname، نیاز به دسترسی روت (Root) یا حساب کاربری با دسترسی sudo دارید.
با همراهی ما در این مقاله، خواهید دید که تغییر Hostname در لینوکس چقدر ساده و قابل انجام است و چگونه میتوانید با این عملیات مهم شبکه، به بهبود عملکرد و مدیریت دستگاههایتان بپردازید. بنابراین، همین حالا با شروع به کار، به آموزش جزئیات تغییر Hostname در لینوکس بپردازیم.
پیش از آن که برای تغییر هاست نیم اقدام کنید، اطمینان حاصل که از یک سرور با کیفیت استفاده می کنید. شما می توانید با خیال راحت خرید سرور مجازی لینوکس را از ما انجام دهید و خیالتان از بابت کیفیت سرورهای خریداری شده راحت باشد.
hostname چیست؟
قبل از اینکه با نحوه تغییر hostname در لینوکس آشنا شویم، بهتر است به خود نام هاست هم اشاره کنیم:
hostname یا نام هاست برای شناسایی دستگاه های موجود در شبکه استفاده می شود. مثل اعضای کلاس که هر کدام دارای یک اسم – فامیل خاص هستند و از آنها برای صدا زدن یا دسترسی به یک عضو خاص استفاده می شود. hostname هم برچسبی است که به یک دستگاه کامپیوتری خاص اختصاص داده می شود و این برچسب برای برقراری ارتباط هاست ها در فضای شبکه به کار می روند.
با توجه به اینکه همه دستگاه ها دارای آی پی مشخصی هستند، استفاده از hostname به جای آدرس آی پی، ایده راحت تری است و همین عامل باعث شد که یک پایگاه داده سلسله مراتبی به نام dns از هاست ها ایجاد شود تا این اسم ها را با آدرس های آی پی موردنظر مرتبط کند و در صورت نیاز، عملیات ترجمه نام هاست به آدرس آی پی را انجام دهد.
hostname ها می توانند یک رشته کاراکتری از اعداد و حروف باشند که البته استفاده از کاراکترهایی مثل کاما و نقطه برای نام هاست غیرمجاز است.
پس در حالت کلی، نام میزبان یک شناسه قابل درک برای دستگاه کامپیوتری است که برای شناسایی راحت تر دستگاه ها در شبکه، برقراری ارتباط بین دستگاه ها، ارتباط با سرورها، دسترسی ریموت و … بسیار مفید و کاربردی است.
تغییر Hostname در لینوکس CentOS و RHEL
اگر از توزیع های CentOS و RHEL استفاده می کنید، این راهنما به درد شما خواهد خورد؛ چرا که ما انواع روش های تغییر Hostname در توزیع های CentOS و RHEL را برایتان آورده ایم.
استفاده از دستور hostnamectl
توزیعهای لینوکس مدرن با systemd همراه هستند که یک مدیر سیستم و سرویس است که دستور hostnamectl را به صورت پیشفرض برای مدیریت و تغییر Hostname نصب کرده است.
نحوه تغییر Hostname فعلی خود را با استفاده از hostnamectl نشان میدهیم:
ترمینال را باز کنید.
به سرور لینوکس خود از طریق SSH وارد شوید.
اگر سیستم شما دارای systemd نباشد، از این دستور برای نصب آن استفاده کنید و دکمه Enter را فشار دهید:
apt-get install systemd
بعد از اتمام نصب، دستور زیر را تایپ کنید تا Hostname فعلی را مشاهده کنید و دکمه Enter را فشار دهید:
hostnamectl
خروجی به صورت زیر خواهد بود:
Static hostname: asamserver
Icon name: computer-vm
Chassis: vm
Machine ID: 45598cbdb6ee462e8696166b520fe788
Boot ID: 99526e56aeea45c2a0f3b2ffaaffe9d9
Virtualization: openvz
Operating System: Ubuntu 20.04.3 LTS
Kernel: Linux 5.4.0
Architecture: x86-64
در خروجی، Hostname فعلی به عنوان Hostname ثابت لیست شده است. برای تغییر آن به صورت دائم، دستور زیر را وارد کنید – با استفاده از Hostname جدید مورد نظر خود – و دکمه Enter را فشار دهید:
hostnamectl set-hostname hostname
دستور فوق خروجی نمیدهد. بنابراین برای بررسی Hostname جدید، دستور زیر را اجرا کنید و دکمه Enter را فشار دهید:
hostnamectl
خروجی شما Hostname جدید را نشان میدهد.
استفاده از رابط کاربری متنی مدیر شبکه (nmtui)
رابط کاربری متنی مدیر شبکه (nmtui) رابطی است که به شما امکان میدهد تنظیمات شبکه و Hostname را در پنجره ترمینال پیکربندی کنید. این رابط در توزیعهای مختلف لینوکسی از جمله CentOS و RHEL در دسترس است.
در زیر نحوه تغییر اسم هاست با استفاده از دستور nmtui را نشان میدهیم:
ترمینال را باز کرده و از طریق SSH به حساب کاربری خود وصل شوید.
با وارد کردن دستور زیر و فشردن دکمه Enter پکیج NetworkManager-tui را نصب کنید:
sudo yum install NetworkManager-tui
رابط ترمینال با دستور نصب پکیج NetworkManager-tui پکیج و لیستی از وابستگیها بارگیری خواهد شد. حرف y را تایپ کنید و دکمه Enter را بزنید تا فرآیند نصب شروع شود.
پیغام Complete!ظاهر میشود وقتی بسته nmtui با موفقیت نصب شده باشد.
برای بررسی وضعیت مدیر شبکه و فشار دادن Enter، این دستور را اجرا کنید:
service NetworkManager status
برای شروع سرویس nmtui، دستور زیر را تایپ کنید و Enter را فشار دهید:
service NetworkManager start
سپس، این دستور را تایپ کنید و Enter را بزنید:
sudo nmtui
در پنجره TUI مدیر شبکه، گزینه Set system hostname را انتخاب کرده و Enter را فشار دهید.
نام مورد نظر خود را تایپ کنید و گزینه OK را انتخاب کنید.
با موفقیت نام سیستم را تغییر دادید.
ویرایش فایلهای پیکربندی
گزینه بعدی ویرایش فایلهای پیکربندی است – etc/hostname/ و etc/hosts/. اینجا نحوه انجام آن را آموزش میدهیم:
ترمینال را باز کنید و از طریق SSH متصل شوید.
فایل etc/hostname/ را باز کنید و نام سابق را با نام جدید جایگزین کنید:
vi /etc/hostname
asamserver
سپس، host name را در فایل etc/hosts/ بهروز کنید تا سیستم نام جدید را در شبکه تشخیص دهد.
vi /etc/hosts
asamserver 127.0.0.1
در این مرحله، به بهروزرسانی رکوردها در فایلهای پیکربندی پایان دادید. با این حال، برای اعمال تغییرات، نیاز به ویرایش فایل پیکربندی ابر دارید.
برای انجام آن، این دستور را در ترمینال وارد کنید و Enter را فشار دهید:
sudo vim /etc/cloud/cloud.cfg
مقدار خط زیر را به true تغییر دهید:
preserve_hostname: true
سیستم خود را راهاندازی مجدد کنید و ترمینال را باز کنید. برای بررسی اینکه آیا host name بهطور مداوم حفظ شده است، این دستور را وارد کنید و Enter را بزنید:
hostname
این دستور host name جدید را که تنظیم کردهاید نشان میدهد.
توجه! اگر فایل پیکربندی ابر در سیستم شما موجود نیست، میتوانید بهآسانی این مراحل را رد کنید.
چگونگی تغییر hostname بدون راهاندازی مجدد
در این بخش، شما یاد میگیرید که چگونه host name را بدون راهاندازی مجدد سیستم تغییر دهید. با این حال، به محض راهاندازی مجدد سیستم، به host name قدیمی باز میگردد.
زمانی که شما برای انجام کار کوچکی به تغییرات موقت نیاز دارید این روش مفید است. ساختار پایه دستور به این شکل است:
hostname [new_host_name]
به این صورت از آن استفاده کنید:
در ترمینال، دستور hostname را به همراه host name جدید وارد کنید و Enter را بزنید.
hostname asamserver
با وارد کردن دستور زیر و فشار دادن Enter، بررسی کنید که آیا host name به درستی تنظیم شده است:
hostname
خروجی host name بهروز شده را نشان میدهد.
چگونگی بررسی host name فعلی در Ubuntu 20.04 و دبیان
از آن جایی که دستورات تغییر hostname در Ubuntu و دبیان مشترک است، بنابراین اگر کاربر هرکدام باشید، میتوانید از راهنمای زیر استفاده کنید:
برای بررسی hostname فعلی سیستم Ubuntu و دبیان خود، از یکی از دو دستور موجود استفاده کنید.
دستور hostname فقط host name را نمایش میدهد.
دستور دیگر، hostnamectl، اطلاعات اضافی در مورد سیستم کامپیوتری شما نمایش میدهد.
خط host name ثابت، host name ماشین شما را نشان میدهد.
توجه: نامهای معتبر بین 2 تا 64 کاراکتر طول دارند. آنها فقط میتوانند شامل حروف، اعداد، نقاط و خطها باشند، اما باید با حروف و اعداد شروع و پایان یابند.
تغییر موقت host name در Ubuntu 20.04
از دستور hostname برای ایجاد تغییر موقت در host name کامپیوتر خود استفاده کنید.
در ترمینال، دستور زیر را تایپ کنید و نام جدید را جایگزین new-hostname کنید:
sudo hostname new-hostname
در صورت موفقیت آمیز بودن، این مرحله هیچ خروجی ارائه نمیدهد. برای تأیید نتیجه فرآیند، host name فعلی سیستم را بررسی کنید.
تغییر host name در Ubuntu (بدون نیاز به راهاندازی مجدد)
اگر میخواهید host name را بدون راهاندازی مجدد کامپیوتر به طور دائم تغییر دهید، از دستور hostnamectl استفاده کنید.
استفاده از set-hostname برای تغییر host name
دستور زیر را تایپ کنید:
hostnamectl set-hostname new-hostname
به جای new-hostname، از host name دلخواه خود استفاده کنید.
استفاده از hostnamectl برای تأیید تغییر
تماماً مشابه دستور hostname، در صورت موفقیت آمیز بودن، دستور hostnamectl set-hostname هیچ خروجیای تولید نمیکند. بنابراین، از دستور hostnamectl برای بررسی نتیجه استفاده کنید.
hostnamectl set-hostname "new-hostname" --pretty
تغییر host name pretty (اختیاری)
host name pretty، در واقع یک host name است که به کاربر ارائه میشود و در یک کامپیوتر دیگر در شبکه شناخته شده نمیشود. سیستم کامپیوتری فقط با host name ثابت دیگری را شناسایی میکند.
توجه: host name pretty محدودیتهای host name ثابت خود را ندارد – هر مقدار UTF-8 مجاز است.
برای تغییر host name pretty یک دستگاه، از همان دستور hostnamectl با گزینه pretty– استفاده کنید.
توجه: host name pretty در فایل etc/machine-info/ ذخیره میشود. بهروزرسانی این فایل یک روش دیگر برای انجام این مرحله اختیاری است.
تغییر host name در اوبونتو (نیاز به راهاندازی مجدد)
یک راه دیگر برای تغییر دائمی host name، ویرایش دو فایل پیکربندی است:
- etc/hostname/
- etc/hosts/
تغییرات بلافاصله پس از راهاندازی مجدد سیستم اعمال میشوند.
مرحله 1: باز کردن فایل etc/hostname/ و تغییر host name
فایل را با یک ویرایشگر متنی باز کنید. در این مثال، از ویرایشگر Vim استفاده میکنیم:
sudo vi /etc/hostname
فایل etc/hostname/ تنها شامل host name فعلی است. آن را با انتخاب جدیدتان جایگزین کنید.
فایل را ذخیره و خارج شوید.
مرحله 2: باز کردن فایل etc/hosts/ و تغییر host name
حالا به همین روش فایل etc/hosts/ را ویرایش کنید.
sudo vi /etc/hosts
فایل etc/hosts/ نامهای میزبان را به آدرسهای IP نگاشت میکند. به دنبال host nameی که میخواهید تغییر دهید بگردید و آن را با انتخاب جدیدتان جایگزین کنید.
مرحله 3: راهاندازی مجدد سیستم
برای اعمال تغییرات، رایانه خود را راهاندازی مجدد کنید:
sudo systemctl reboot
توجه: اگر از بسته Cloud-Init (cloud-init) برای اجرای نمونه ابری اوبونتو استفاده میکنید، باید قبل از راهاندازی مجدد یک مرحله دیگر انجام دهید. به فایل etc/cloud/cloud.cfg/ بروید و مطمئن شوید که خط preserve_hostname به TRUE تنظیم شده است.
تغییر host name در اوبونتو با استفاده از رابط گرافیکی
رابط گرافیکی اوبونتو همچنین یک راه برای ویرایش host name سیستم فراهم میکند:
ابتدا به قسمت Settings > About بروید.
- حالا، به دنبال فیلد نام دستگاه بگردید.
- با کلیک بر روی فیلد Device Name، جعبه گفتگوی تغییر نام دستگاه باز میشود.
در جعبه گفتگوی تغییر نام دستگاه، نام فعلی را با یک نام جدید جایگزین کنید و با کلیک بر روی دکمه Rename، تغییرات را دائمی کنید.
چگونه Hostname را در سیستم عامل Centos تغییر دهیم؟
اگر توزیع لینوکس شما CentOS است، ما چندین راهکار به شما بیان می کنیم تا بتوانید hostname خودتان را تغییر دهید.
مرحله 1: hostname موجود را بررسی کنید
قبل از آنکه شروع به تغییر hostname کنید، توصیه می کنیم حتما یک بررسی اولیه داشته باشید تا بدانید که اصلا hostname اولیه که در حال حاضر از آن استفاده می کنید، چیست؟ برای این کار از دستور زیر استفاده کنید:
Hostnamectl
خروجی باید نام میزبان ثابت و همچنین لیستی از اطلاعات دیگر در مورد پیکربندی شبکه و سیستم عامل شما را برگرداند.
مرحله ۲: تنظیم Static Hostname جدید
CentOS 7 تنها اجازه می دهد نام های دامنه کاملاً کیفیت داشته باشند (FQDN)، Hostname را که قصد استفاده از آن را دارید، دوباره بررسی کنید.
مقادیر قابل قبول عبارتند از:
- حروف کوچک a تا z
- اعداد 0 تا 9
- نقطه ها و خط تیره ها
- نام های میزبان باید بین ۲ تا ۶۳ کاراکتر باشند
- نام های میزبان باید با عدد یا حرف آغاز و به عدد یا حرف ختم شوند
در ترمینال دستور زیر را تایپ کنید:
hostnamectl set-hostname my.new-hostname.server
توجه: حتماً my.new-hostname.server را با نام میزبان انتخابی خود جایگزین کنید.
مرحله ۳: بررسی نام میزبان
سپس، با استفاده از دستور زیر، نام میزبان را بررسی کنید:
hostnamectl
کنسول باید نام میزبان جدید را نشان دهد.
مرحله ۴: ویرایش فایل etc/hosts/
ابتدا با وارد کردن دستور زیر، فایل hosts را باز کنید:
sudo vim /etc/hosts
در ویرایشگر متنی، به دنبال خطی با شروعی 127.0.0.1 (آدرس IP مربوط به سیستمی که در آن کار میکنید) بگردید. باید به صورت زیر نوشته شده باشد:
127.0.0.1 localhost localhost.localdomain localhost 4 localhost4.localdomain4 old.hostname
عبارت old.hostname را به my.new-hostname.server تغییر دهید – و آن را به همان شکلی که در مرحله ۲ نوشته شده است تایپ کنید.
فایل را ذخیره و خارج شوید.
توجه: برای کسب اطلاعات بیشتر درباره فایل hosts، به مقالهی ما درباره ویرایش فایل hosts در لینوکس، ویندوز و مک مراجعه کنید.
مرحله ۵: راهاندازی مجدد و بررسی نام دستگاه CentOS 7
سیستم خود را راهاندازی مجدد کنید. پنجرهای از کنسول باز کنید و دستور زیر را اجرا کنید:
hostnamectl
باید نام دستگاه جدید شما را نشان دهد.
همچنین میتوانید از ویرایشگر متنی خود استفاده کنید تا فایل /etc/hosts خود را باز کنید و نام دستگاه جدیدتان را بررسی کنید. باید هنوز نام دستگاه جدید شما در آن لیست شده باشد.
مرحله ۶ (اختیاری): استفاده از Pretty Hostname
برای استفاده از Pretty Hostname، دستور زیر را تایپ کنید:
hostnamectl set-hostname "My Boss's Hostname
مطمئن شوید که علامت نقل قول را دارید.
بعد از اتمام این مرحله، نام دستگاه را بررسی کنید:
hostnamectl status
کنسول باید یک لیست اطلاعات را برگرداند. خطوط Static hostname و Pretty hostname را بررسی کنید – باید به این شکل باشند:
Static hostname: mybossshostname
Pretty hostname: My Boss's Hostname
با قرار دادن نام دستگاه در داخل نقل قول، به سیستم میگویید از کاراکترهای پیچیده در داخل نقل قول به عنوان نام جذاب استفاده کند.
این به شما امکان میدهد از محدودیتهای کاراکترها برای نامهای ثابت دستگاه جلوگیری کنید.
استفاده از یک نام قابل خواندن در centos
اما هنوز نیاز به یک نام دستگاه با نام دامنه کامل دارید تا ماشین بتواند آن را درک کند. خوشبختانه، CentOS هوشمند بوده و تمام کاراکترهای غیرقابل قبول را حذف یا تغییر میدهد و نام دستگاه ثابت را به صورت خودکار تولید میکند.
مرحله ۷ (اختیاری): تنظیم نام موقت
ابتدا، کنسول را باز کنید و دستور زیر را تایپ کنید:
sudo hostnamectl -transient set-hostname temporary.hostname
میتوانید نام دستگاه را با استفاده از دستور hostnamectl یا hostnamectl status به همان روشی که قبلاً انجام دادید، بررسی کنید.
این تغییر تا زمان راهاندازی مجدد دستگاه برقرار میماند.
میتوانید از این دستور با هر نوع نام دستگاه (ثابت، جذاب یا موقت) به عنوان یک گزینه با خط تیره دوبار استفاده کنید.
با استفاده از خط تیره دوبار، نشان میدهید که چه میخواهید:
sudo hostnamectl --prettyset-hostname "Pretty Hostname"
یا
sudo hostnamectl --staticset-hostname temporary.hostname
توجه: اگر از CentOS 8 استفاده می کنید، لطفاً به راهنمای ما در مورد نحوه تغییر یا تنظیم نام میزبان در CentOS 8 / RHEL 8 مراجعه کنید
سخن آخر
در این مقاله به آموزش تغییر Hostname در لینوکس پرداختیم و نشان دادیم که چگونه میتوانید با استفاده از دستورات مناسب و ویرایش فایلهای مربوطه، نام میزبان سیستم عامل لینوکس خود را تغییر دهید. تغییر Hostname میتواند برای مدیران سیستم و کاربرانی که به دنبال سفارشیسازی و تنظیمات دقیق سیستم خود هستند، بسیار مفید باشد. با استفاده از اطلاعاتی که در این مقاله ارائه شد، میتوانید با اطمینان کامل و به سادگی نام میزبان خود را به دلخواه تغییر داده و به سیستم لینوکس خود هویتی منحصر به فرد ببخشید. با این روش ساده و عملی، شما به راحتی میتوانید Hostname را مطابق با نیازهای خود تغییر دهید و از مزایای استفاده از یک نام میزبان شخصی برای سیستم عامل لینوکس خود بهرهمند شوید. در صورتی که نیاز به تغییر آدرس آی پی در لینوکس اوبونتو، دبیان و CentOS دارید، می توانید آموزشی که برایتان قبلا تهیه کرده ایم را مطالعه کنید.
در صورتی که سوالی در این زمینه داشتید می توانید با ما در قسمت نظرات به اشتراک بگذارید تا در سریع ترین زمان ممکن پاسخ دهیم.
سوالات متداول:
آیا میتوان Hostname را به هر نام دلخواهی تغییر داد؟
بله، میتوانید Hostname را به هر نام دلخواهی تغییر دهید، اما باید از کاراکترهای مجاز و قوانین نامگذاری پیروی کنید.
Hostname چیست و چه نقشی در سیستمعاملهای لینوکسی ایفا میکند؟
Hostname نام یک دستگاه یا سیستم در شبکه است که برای شناسایی آن استفاده میشود. در سیستمعاملهای لینوکسی، Hostname نقشی کلیدی در شناسایی دستگاه و ارتباط آن با سایر دستگاهها دارد.