Làm cách nào để thay đổi tên máy tính?


327

Khi tôi kết nối với máy chủ của mình (máy chủ Ubuntu 10.10), tôi nhận được điều này:

name@server-name.belkin ~>

Làm thế nào tôi có thể loại bỏ ". Belkin"?


1
Hãy thử chỉnh sửa / etc / hosts. gksudo gedit / etc / hosts và thay thế server-name.belkin bằng bất kỳ tên nào bạn muốn.
LFC_fan

2
Bạn có muốn thay đổi tên máy chủ thực tế hay chỉ là cách nó được hiển thị trong lời nhắc?
Dave Jennings

2
Bỏ phiếu để mở lại, bởi vì đây là một superset (cho phép khởi động lại).
Ciro Santilli 心 心

Làm thế nào để câu hỏi này được đóng lại có lợi cho một câu hỏi trong một năm sau đó?
warren

@warren sự đồng thuận hiện tại là kết thúc bằng "chất lượng": meta.stackexchange.com/questions/147643/NH Vì "chất lượng" là không thể đo lường được, tôi chỉ đi theo upvotes. ;-) Có khả năng nó thuộc về câu hỏi nào đánh vào các từ khóa mới nhất của Google về tiêu đề.
Ciro Santilli 新疆 心 心

Câu trả lời:


420

Bạn cần chỉnh sửa tên máy tính trong hai tệp:

/etc/hostname 

/etc/hosts

Cả hai sẽ cần truy cập quản trị, vì vậy hãy chạy

gksu gedit /path/to/file

Thay thế bất kỳ trường hợp nào của tên máy tính hiện tại bằng tên mới của bạn. Khi chạy xong

sudo service hostname start

Tên cũng sẽ được thay đổi nếu bạn khởi động lại máy tính của mình.

Xem thêm:


43
Sau đó, chỉ sudo service hostname restartvà tên máy chủ đã được thay đổi mà không cần khởi động lại.
Anthony O.

6
Trong Ubuntu 14.04 không có dịch vụ 'tên máy chủ'. Tôi có thể làm gì để tránh khởi động lại.
Arpad Horvath

8
sudo service hostname restartkhông hoạt động trên cài đặt mặc định của máy chủ Ubuntu 14.04 trên AWS. Tôi đã phải khởi động lại máy chủ đầy đủ
gerrytan

9
Vào ngày 14.04, tôi chỉ đơn giản là chạy sudo hostname, và điều đó đã tạo nên mánh khóe. Tôi đã không nhận thấy bất kỳ thay đổi ngay lập tức, nhưng khi tôi mở một thiết bị đầu cuối mới, tôi thấy tên máy chủ của tôi đã thực sự thay đổi.
TSJNachos117

8
sudo hostname new-host-namelàm việc cho tôi trên Ubuntu 13.10
Lekhnath

153

hostnamectl set-hostname trên 13.10+ máy tính để bàn

Đây là cách tốt nhất nếu bạn có systemd (13.10 trở đi) và nếu cloud-init không hoạt động (xem bên dưới):

hostnamectl set-hostname 'new-hostname'

Nó:

  • không yêu cầu khởi động lại
  • vẫn tồn tại sau khi khởi động lại

Thêm thông tin tại: https://askubfox.com/a/516898/52975

18.04 trở đi: đám mây-init

18.04 Giới thiệu cloud-init có thể kiểm soát cài đặt tên máy chủ để hostnamectlthay đổi tên sẽ không bị dính sau khi khởi động lại nếu cài đặt cloud-init. TODO: làm thế nào để kiểm tra nếu nó được cài đặt, nó được cài đặt theo mặc định trên hình ảnh máy tính để bàn hay chỉ máy chủ?

Nếu bạn muốn hostnamectlthay đổi ở lại sau khi khởi động lại, thì bạn sẽ cần chỉnh sửa các tệp cấu hình đám mây-init , tắt mô-đun bộ / cập nhật tên máy chủ của đám mây-init :

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

hoặc vô hiệu hóa hoàn toàn init-init:

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

Xem thêm: Làm cách nào để thay đổi tên máy chủ mà không cần khởi động lại?


3
hoạt động hoàn hảo trong Ubuntu 15.10
AB

4
Không thay đổi / etc / hosts trong 14.04
Tự động xác định

7
hoạt động hoàn hảo trong Ubuntu 16.04 ... cảm ơn rất nhiều
Hirak

2
Xác nhận sẽ hoạt động chính xác trong 16.10
nhóm mờ

2
Tôi đã phải thêm tên máy chủ mới của mình vào / etc / hosts khác bằng sudo sẽ gây ra một số lỗi "sudo: không thể giải quyết máy chủ xxxxx"
WoodyDRN

70

Nó khá dễ:

  1. Chỉnh sửa /etc/hostname, thay đổi tên, lưu tệp.

  2. Bạn cũng nên thực hiện các thay đổi tương tự trong /etc/hoststệp

  3. Chạy sudo service hostname start

Miễn là bạn không có cài đặt ứng dụng tùy thuộc vào tên máy chủ 'cũ', bạn sẽ ổn thôi ;-)


31
CẢNH BÁO: Nếu bạn thực hiện việc này mà không thay đổi / etc / hosts, bạn sẽ không thể sử dụng sudo vì tên máy chủ của bạn sẽ không tra cứu
João Pinto

Bạn đúng về việc chỉnh sửa / etc / hosts, tôi đã quên nó (chỉ cần thêm nó vào câu trả lời của tôi), mặc dù sudo dường như hoạt động tốt với tôi mà không thay đổi (tôi đã khởi động lại máy và nó vẫn hoạt động)
Pavlos G.

1
Không sao, bạn có thể làm điều đó như hostnamebây giờ là một dịch vụ được quản lý upstart. Nó sẽ làm chính xác điều tương tự, khởi động lại dịch vụ.
Pavlos G.

2
Lưu ý: điều này sẽ không hoạt động đối với Ubuntu 14.x, như hostnamekhông còn tronginit.d
Rápli András

2
Cảnh báo: sẽ không hoạt động với Ubuntu 18+ đang chạy cloud-init theo mặc định, điều khiển tên máy chủ khi khởi động.
nslntmnx

24

Việc này rất an toàn, bạn chỉ cần chắc chắn rằng bạn chỉnh sửa cả tệp cấu hình tên máy chủ hệ thống (/ etc / hostname) và tệp phân giải tên máy chủ (/ etc / hosts). Từ một thiết bị đầu cuối thực hiện như sau:

sudo -s
editor /etc/hostname
editor /etc/hosts
shutdown -ry now

2
Bạn có thể tránh tắt máy với sudo service hostname restart.
Wtower

3
@Wtower Không hoạt động với 14.04. :(
ankush981

Cảnh báo: sẽ không hoạt động với Ubuntu 18+ đang chạy cloud-init theo mặc định, điều khiển tên máy chủ khi khởi động.
nslntmnx

18

Ngoài việc chỉnh sửa / etc / hosts và / etc / hostname, các dịch vụ khác nhau cũng có thể có vấn đề với thay đổi. Mysql và postfix được cài đặt theo mặc định trong Ubuntu. Một postfix bị hỏng sẽ không ảnh hưởng đến hầu hết người dùng Ubuntu, vì đó là một máy chủ email nền không được sử dụng nhiều.

Hậu tố:

sudo editor /etc/postfix/main.cf
sudo service postfix restart

Cấu hình mặc định cho mysql không sử dụng tên máy chủ, vì vậy nó sẽ hoạt động tốt như hiện tại. Nếu bạn đã tùy chỉnh nó, hãy chỉnh sửa các tệp trong / etc / mysql / và khởi động lại dịch vụ.

Bạn cũng có thể muốn chỉnh sửa / etc / motd (tin nhắn trong ngày), được hiển thị trên các thiết bị đầu cuối ảo và đăng nhập từ xa. Điều đó sẽ không làm hại bất cứ điều gì mặc dù.

Các dịch vụ khác mà bạn có thể đã cài đặt cần sửa là apache, bind9, v.v. Trong mỗi trường hợp, hãy tìm và chỉnh sửa tên máy chủ trong cấu hình của chúng và khởi động lại dịch vụ.


14

Tên máy chủ nhận dạng duy nhất máy tính của bạn trên mạng cục bộ (và có thể cả trên Internet), vì vậy không nên thay đổi nó trừ khi bạn biết bạn đang làm gì.

Nhưng bạn có thể thay đổi dấu nhắc shell không hiển thị .belkin(phần tên miền):

export PS1='\u@\h \w> '

Xem trang bash man và cụ thể là phần nhắc nhở để biết thêm thông tin.


14

Một cách khác tốt hơn và an toàn để đổi tên máy chủ

Cài đặt ailurus

  • Thêm PPA và cập nhật kho lưu trữ của bạn

    sudo add-apt-repository ppa:ailurus && sudo apt-get update

  • Cài đặt ailurus

    sudo apt-get install ailurus

  • Sau khi cài đặt, nó sẽ được tìm thấy trong Ứng dụng >> Công cụ hệ thống >> Ailurus
    văn bản thay thế

5
Tại sao điều này nhận được phiếu bầu tiêu cực? Nên tốt hơn để cấu hình một cái gì đó với một công cụ chuyên dụng hơn là muck xung quanh dòng lệnh và phá vỡ mọi thứ trong quy trình.
endolith

38
Cài đặt một phần mềm lớn như vậy chỉ để thay đổi tên máy chủ là một việc quá mức cần thiết
Nemo

9
Tôi đồng ý rằng điều này là quá mức cần thiết - đặc biệt là vì phần mềm không có sẵn trong kho nhưng phải được cài đặt từ PPA ...
Marcel Promotionberg

@ karthick87 có lẽ đề cập đến trong câu trả lời của bạn rằng đây là một phần mềm lớn (với các tùy chọn cấu hình khác)? - cá nhân tôi đồng ý với endolith rằng một công cụ có một điểm thay đổi đơn giản, tốt hơn nhiều thao tác dòng lệnh (tôi sử dụng Ubuntu Tweak, hiện cũng có sẵn từ PPA)
david.libremone

Tôi nghĩ rằng bạn có thể phá vỡ nhiều thứ hơn (và dễ dàng hơn) bằng công cụ này, thay vì chỉ thay thế một từ trong một vài tệp. Nó tiếp xúc với quá nhiều thứ với bạn.
gerlos

9

Nếu bạn không muốn chơi với trình soạn thảo văn bản, Ubuntu Tweak (lấy bản thảo từ trang web của họ) có một trong những điều nhỏ bạn có thể chơi (cùng với rất nhiều điều chỉnh nhỏ khác mà bạn có thể muốn thực hiện nhưng không thực sự muốn chơi xung quanh với thiết bị đầu cuối và các tập tin).


Vì tò mò, có lý do cụ thể nào khiến Ubuntu Tweak không có trong kho phần mềm không?
Olivier Lalonde

Họ không bao giờ có xung quanh để thêm nó / chưa được chấp nhận. Bạn có thể thêm repo của họ vào danh sách của mình ngay sau khi bắt đầu chỉnh sửa hoặc thông qua danh sách terminal / repo.
dkuntz2

Bạn cũng có thể thêm Ubuntu Tweak là một PPA với sudo add-apt-repository ppa:tualatrix/pparồi sudo apt-get updatesau đó sudo apt-get install ubuntu-tweak
david.libremone

1
lưu ý rằng vì ~ 13.04 Ubuntu Tweak không còn cung cấp tùy chọn này
david.libremone

9

Sử dụng hostnamelệnh để thay đổi tên máy chủ của bạn

sudo hostname newname

Tuy nhiên, điều này không chỉnh sửa tệp máy chủ của bạn, mà bạn phải làm như vậy để đảm bảo rằng máy tính của bạn nhận ra chính nó

gksudo /etc/hosts

Và thêm một mục mới cho tên máy chủ của bạn trỏ đến 127.0.0.1

127.0.0.1 oldname newname

Bạn có thể loại bỏ mục cũ là tốt, nhưng tôi thích giữ nó ở đó.


7

Lệnh sau thay đổi tên máy chủ một cách nhanh chóng nhưng để làm cho nó vĩnh viễn, bạn phải chỉnh sửa /etc/hostname:

echo 'new_hostname' > /proc/sys/kernel/hostname

Mở một phiên thiết bị đầu cuối mới và bạn sẽ thấy nó ngay lập tức.

Với systemdvị trí, cách thích hợp để làm điều đó là

hostnamectl set-hostname "new_name"

4

Nếu bạn muốn một quy trình hỗ trợ GUI cài đặt Ubuntu-Tweak. Trong số các ứng dụng khác của ứng dụng này là khả năng thay đổi tên máy tính thông qua tab "Chi tiết máy tính" -> "Tên máy chủ"


3

Cài đặt hệ thống -> Chi tiết -> Quá mức (mặc định được mở trong U16.04) - Tên thiết bị.

nhưng ngoài ra, bạn phải thay đổi tên trong / etc / hosts. Ubuntu BUG ()?


Tôi nghĩ rằng đây là một cách khá hay để thay đổi tên máy chủ.
jawtheshark

2

Mở một thiết bị đầu cuối và

sudo sed -i '1s/.*/desired-name/g' /etc/hostname

# you need restart to effect with...

sudo shutdown -r 0

Cảnh báo: sẽ không hoạt động với Ubuntu 18+ đang chạy cloud-init theo mặc định, điều khiển tên máy chủ khi khởi động.
nslntmnx
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.