چگونه می توان نام میزبان را بدون راه اندازی مجدد تغییر داد؟


به جواب پذیرفته شده بروید




من می خواهم نام میزبان سیستم عامل را تغییر دهم اما نمی خواهم دوباره راه اندازی شود.

من ویرایش کرده ام /etc/hostname اما برای اجرای مجدد نیاز به راه اندازی مجدد است. چگونه از این امر جلوگیری کنیم؟


504









14 :تعداد پاسخها


آسان است. فقط روی نماد Gear (واقع در گوشه سمت راست بالای صفحه) کلیک کنید ، صفحه "About this computer" (واقع در نماد Gear) را باز کنید و "نام دستگاه" را ویرایش کنید.

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

 sudo hostname your-new-name
 

این کار تا زمانی که مجدداً راه اندازی شود ، نام میزبان را به نام جدید شما تنظیم می کند. ببینید man hostname و چگونه می توانم نام کامپیوتر را تغییر دهم؟ برای اطلاعات بیشتر. _ به نام خود استفاده نکنید.

توجه داشته باشید

پس از راه اندازی مجدد از تغییرات /etc/hostname شما استفاده می شود ، بنابراین (همانطور که در سوال گفتید) ، باید باز هم از آن استفاده کنید

 sudo -H gedit /etc/hostname
 

(یا برخی ویرایشگر دیگر) بنابراین آن پرونده حاوی نام میزبان است.

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

 sudo service hostname start
 

همچنین باید /etc/hosts خطی را که می خواند ویرایش و تغییر دهید:

 127.0.1.1     your-old-hostname
 

به طوری که اکنون حاوی نام میزبان جدید شما است. (این مورد لازم است در غیر این صورت بسیاری از دستورات کار خود را متوقف می کنند.)


646



اوبونتو 13.04 به بعد

این hostnamectl دستور بخشی از نصب پیش فرض در هر دو نسخه Desktop و Server است.

این ترکیب تنظیم نام میزبان از طریق hostname دستور و ویرایش است /etc/hostname . علاوه بر تنظیم نام میزبان استاتیک ، می تواند نام میزبان "زیبا" را تنظیم کند ، که در اوبونتو استفاده نمی شود. متأسفانه ، ویرایش /etc/hosts هنوز باید جداگانه انجام شود.

 hostnamectl set-hostname new-hostname
 

این دستور بخشی از systemd-services بسته است (که از اوبونتو 14.04 نیز شامل دستورات timedatectl و localectl دستورات آن می شود). با مهاجرت اوبونتو systemd ، این ابزار آینده است.


284



بدون شروع مجدد

تغییر نام میزبان یا کامپیوتر نام در اوبونتو بدون راه اندازی مجدد

تغییر / و غیره / نام میزبان و تغییر به مقدار جدید ،

 nano /etc/hostname 
 

ویرایش / و غیره / هاست را تغییر دهید و خط 127.0.1.1 قدیمی را به نام میزبان جدید خود تغییر دهید

 127.0.0.1   localhost
127.0.1.1   ubuntu.local    ubuntu   # change to your new hostname/fqdn
 

توجه : من آن را در انجمن> ویرایش / و غیره / میزبان ها خوانده ام و خط 127.0.1.1 قدیمی را به نام میزبان جدید خود تغییر داده ام (اگر اصلاً این کار را نکنید ، دیگر نمی توانید از sudo استفاده کنید. اگر قبلاً این کار را انجام داده اید ، ESC را در منوی grub فشار دهید ، بازیابی را انتخاب کنید و پرونده میزبان خود را در تنظیمات صحیح ویرایش کنید)

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

بدون راه اندازی مجدد

برای تغییر بدون راه اندازی مجدد ، می توانید پس از ویرایش / غیره / نام میزبان ، از hostname.sh استفاده کنید. شما باید هر دو نام میزبان خود را در / etc / host ها نگه دارید (127.0.0.1 newhost oldhost) تا زمان اجرای دستور زیر:

 sudo service hostname start
 

توجه : در بالای دستور برای فعال سازی این تغییر. نام میزبان ذخیره شده در این پرونده (/ و غیره / نام میزبان) در راه اندازی مجدد سیستم حفظ می شود (و با استفاده از همان سرویس تنظیم می شود).


63



هنگام نصب اوبونتو نام پیش فرض تنظیم شد. شما می توانید با ویرایش میزبان ها و پرونده های نام میزبان ، آن را به راحتی در هر دو میزکار و سرور تغییر دهید. در زیر نحوه:

  1. CtrlAlttبرای باز کردن ترمینال روی صفحه کلید فشار دهید . وقتی باز شد ، دستور زیر را اجرا کنید: sudo hostname NEW_NAME_HERE

با این کار نام میزبان تا راه اندازی مجدد بعدی تغییر می کند. این تغییر بلافاصله در ترمینال فعلی شما قابل مشاهده نخواهد بود. برای دیدن نام میزبان جدید ، یک ترمینال جدید را راه اندازی کنید.

  1. برای تغییر نام دائمی ، دستور را برای ویرایش پرونده های میزبان اجرا کنید:

    sudo -H gedit /etc/hostname و sudo -H gedit /etc/hosts

برای اوبونتو سرور بدون رابط کاربری گرافیکی، اجرا sudo vi /etc/hostname و sudo vi /etc/hosts و ویرایش آنها را یکی یکی. در هر دو پرونده ، نام مورد نظر خود را تغییر داده و آنها را ذخیره کنید.

در آخر ، رایانه خود را مجدداً راه اندازی کنید تا تغییرات اعمال شود.


43



در اینجا اسکریپتی وجود دارد که نام میزبان را به روش مقرر تغییر می دهد. این تضمین می کند که sudo برنامه های کاربردی نه تنها بلکه همچنین X11 بدون نیاز به راه اندازی مجدد به عملکرد خود ادامه دهند.

طریقه استفاده: sudo ./change_hostname.sh new-hostname

 #!/usr/bin/env bash
NEW_HOSTNAME=$1
echo $NEW_HOSTNAME > /proc/sys/kernel/hostname
sed -i 's/127.0.1.1.*/127.0.1.1\t'"$NEW_HOSTNAME"'/g' /etc/hosts
echo $NEW_HOSTNAME > /etc/hostname
service hostname start
su $SUDO_USER -c "xauth add $(xauth list | sed 's/^.*\//'"$NEW_HOSTNAME"'\//g' | awk 'NR==1 {sub($1,"\"&\""); print}')"
 

16



ماندگاری نام میزبان Cloud-init (اوبونتو 18+)

در حالی که رویکردهای فوق ( hostnamectl ، etc/hostname و غیره) برای تغییر فوری نام میزبان ، با ظهور cloud-init - که می تواند تنظیم نام میزبان را کنترل کند - در میان بسیاری موارد دیگر کار می کند. بنابراین اگر cloud-init نصب شود ، پس از راه اندازی مجدد نمی چسبد. اگر می خواهید تغییر بعد از راه اندازی مجدد بماند ، باید فایلهای پیکربندی cloud-init را ویرایش کنید ، ماژول تنظیم / بروزرسانی نام میزبان cloud-init را غیرفعال کنید :

 sudo sed 's/preserve_hostname: false/preserve_hostname: true/' /etc/cloud/cloud.cfg
 

یا غیرفعال کردن cloud-init به طور کامل:

 sudo touch /etc/cloud/cloud-init.disabled
 

15



بدون شروع مجدد:

  1. تغییر نام میزبان در /etc/hostname
  2. /etc/hosts بر این اساس به روز کنید
  3. sudo sysctl kernel.hostname=mynew.local.host

نام میزبان فعلی خود را با آن بررسی کنید hostname -f


14



برای به دست آوردن نام میزبان فعلی خود:

 cat /etc/hostname
 

این را می توان در هر ویرایشگر متن تغییر داد. همچنین لازم است ورودی غیر از localhost را در برابر 127.0.0.1 در / etc / host ها به روز کنید.


7



  1. محتویات را /etc/hostname با نام میزبان مورد نظر جایگزین کنید (می توانید با آن ویرایش کنید sudo nano /etc/hostname )
  2. در /etc/hosts ، ورودی کنار 127.0 را جایگزین کنید. 1 .1 با نام میزبان مورد نظر (می توانید با آن ویرایش کنید sudo nano /etc/hosts )
  3. اجرا کردن sudo service hostname restart; sudo service networking restart

4



اوبونتو 16.04

این بدون راه اندازی مجدد و بدون استفاده ترمینال است.

  • به تنظیمات سیستم بروید -> جزئیات .
  • ایناهاش. در کنار نام دستگاه ، جعبه متن وجود دارد.
  • جعبه متن و پنجره را ببندید.

ترمینال باز کنید برای خودتان ببینید.

(برای نسخه های قدیمی تر ، کادر متن قابل ویرایش نیست.)


4



پاسخ کلاسیک به سؤال پوستر اصلی این است که ، پس از ویرایش /etc/hostname ، با اجرای نام میزبان (1) با گزینه -F ( --file ) به عنوان root ، مجدداً آن را اعمال مجدد کنید.

 sudo hostname -F /etc/hostname
 

استفاده از نام میزبان (5) با /etc/hostname برنامه و برنامه گفته شده بیش از بیست سال است که در دبیان و مشتقات آن یکسان بوده است و بسته ارائه شده آن برچسب خورده ای ضروری و مورد نیاز است و IIRC اسکریپت های اولیه به معنای واقعی کلمه از همین مورد استفاده کرده اند چندین دهه ( /etc/init/hostname.conf هنوز هم حاوی آن است) ، بنابراین باید بگویم که من واقعاً متعجب هستم که چرا کسی قبلاً این را ذکر نکرده بود :)


4



 sudo hostname your-new-name
sudo /etc/init.d/networking restart
 

این کار باید فکر کند


3



من جواب ها را خوانده ام ، اما فکر می کنم احتمالاً به دنبال این هستید:

فقط کافی است این دو دستور را بعد از ویرایش /etc/hostname پرونده اجرا کنید.

 $ sudo service hostname restart
$ exec bash
 

این همه بدون نیاز به راه اندازی مجدد /etc/hosts . همچنین اطمینان حاصل کنید که نام را نیز در پرونده تغییر دهید .


3



اوبونتو 16.04

راه حل مبتنی بر پاسخ از DigitalOcean Comunity.

پرونده میزبان ها را ویرایش کنید.

$ sudo nano /etc/hosts

نام قدیمی را با نام جدید جایگزین کنید .

127.0.0.1 localhost newname

نام میزبان جدید را تنظیم کنید.

$ sudo hostnamectl set-hostname newname


3



انتشارات مرتبط


چگونه می توانم پروکسی را بدون GUI پیکربندی کنم؟

نحوه تغییر عنوان برگه ترمینال فعلی فقط با استفاده از خط فرمان [کپی]

چگونه می توانم بدون تأیید فوری خاموش کنم؟

چگونه می توانم بدون ترک خروجی روی ترمینال از بالا خارج شوم؟

چگونه MySQL را بی درنگ رمز نصب کنم؟

چگونه می توانم نام میزبان را در سیستم اوبونتو هسته تغییر دهم؟

چگونه می توان نام میزبان را بدون راه اندازی مجدد تغییر داد؟

نحوه تغییر نرخ تازه سازی که مدیر شبکه نقاط دسترسی بی سیم را به روز می کند

نحوه دریافت نام میزبان از یک سرور DHCP

چگونه می توان با استفاده از خط فرمان ترمینال ، نام میزبان را دریافت کرد؟

[restart] سوال برچسب


چگونه می توان PPA ها را حذف کرد؟

چگونه می توانم یک فایل .deb را از طریق خط فرمان نصب کنم؟

چگونه می توان یک بسته واحد را با استفاده از apt-get آپدیت کرد؟

چگونه می توان از یک ترمینال خاموش یا راه اندازی مجدد کرد؟

چگونه می توانم از docker بدون سودو استفاده کنم؟

پیام خطا "sudo: قادر به برطرف کردن میزبان (هیچ)"

چگونه یک دایرکتوری به PATH اضافه کنیم؟

چه برنامه های کاربردی در دسترس هستند؟

چگونه می توان با استفاده از دستور "tar" پرونده ها را به پوشه دیگری استخراج کرد؟

چگونه کاربر موجود را به یک گروه موجود اضافه کنیم؟