컴퓨터 이름을 어떻게 변경합니까?


327

내 서버 (우분투 서버 10.10)에 연결하면 다음과 같은 결과가 나타납니다.

name@server-name.belkin ~>

".belkin"을 어떻게 제거합니까?


1
/ etc / hosts를 편집하십시오. gksudo gedit / etc / hosts를 입력하고 server-name.belkin을 원하는 이름으로 바꾸십시오.
LFC_fan

2
실제 서버 이름 또는 프롬프트에 표시되는 방식을 변경 하시겠습니까?
Dave Jennings

2
다시 시작하는 투표입니다. 수퍼 셋이므로 다시 시작할 수 있습니다.
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

질문은 어떻게 1 후 한 가지 질문에 찬성하여 종료 됩니까?
워렌

@warren 현재 컨센서스는 "quality"로 닫는 것입니다 : meta.stackexchange.com/questions/147643/… "quality"는 측정 할 수 없으므로 공감할뿐입니다. ;-) 어떤 질문이 제목에서 가장 새로운 Google 키워드에 도달했는지에 따라 결정됩니다.
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

답변:


420

두 파일에서 컴퓨터 이름을 편집해야합니다.

/etc/hostname 

/etc/hosts

둘 다 관리자 액세스 권한이 필요합니다.

gksu gedit /path/to/file

기존 컴퓨터 이름의 모든 인스턴스를 새 컴퓨터 이름으로 바꿉니다. 완료되면

sudo service hostname start

컴퓨터를 다시 시작하면 이름도 변경됩니다.

또한보십시오:


43
그 후, sudo service hostname restart재부팅없이 호스트 이름이 변경되었습니다.
Anthony O.

6
우분투 14.04에는 서비스 '호스트 이름'이 없습니다. 재부팅을 피하기 위해 어떻게해야합니까?
Arpad Horvath

8
sudo service hostname restartAWS에서 우분투 서버 14.04의 기본 설치에서는 작동하지 않습니다. 나는 전체 서버를 다시 시작해야했다
gerrytan

9
14.04에서 나는 간단하게 실행 sudo hostname했으며 그 트릭을 수행했습니다. 즉각적인 변경은 없었지만 새 터미널을 열었을 때 호스트 이름이 실제로 바뀌는 것을 보았습니다.
TSJNachos117

8
sudo hostname new-host-name우분투 13.10에서 나를 위해 일했다
Lekhnath

153

hostnamectl set-hostname 13.10 이상 데스크톱

시스템을 설정하고 (13.10 이상) cloud-init가 활성화되지 않은 경우 (아래 참조) 가장 좋은 방법입니다.

hostnamectl set-hostname 'new-hostname'

그것:

  • 재부팅이 필요하지 않습니다
  • 재부팅 후에도 지속

자세한 정보 : https://askubuntu.com/a/516898/52975

18.04 이후 : cloud-init

18.04 호스트 이름 설정을 제어 할 수있는 cloud-init 가 도입 되었으므로 hostnamectlcloud-init가 설치되어 있으면 재부팅 후에도 변경되지 않습니다. TODO : 설치되어 있는지 확인하는 방법, 기본적으로 데스크탑 이미지 또는 서버에 설치되어 있습니까?

당신이 원하는 경우에 hostnamectl변경 사항이 재부팅 후 유지하기 위해, 당신은 수정해야 클라우드 초기화 설정 파일을 클라우드 초기화의 해제 호스트 세트 / 업데이트 모듈 :

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

또는 cloud-init를 완전히 비활성화하십시오.

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

다음을 참조하십시오 : 다시 시작하지 않고 호스트 이름을 어떻게 변경합니까?


3
우분투 15.10에서 완벽하게 작동
AB

4
14.04에서 / etc / hosts를 변경하지 않습니다
Autodidact

7
우분투 16.04에서 완벽하게 작동합니다 ... 감사합니다
Hirak

2
16.10에서도 올바르게 작동 함을 확인했습니다
fuzzygroup

2
나는에 나의 새로운 호스트 이름을 추가했다을 / etc / 다른 몇 가지 오류 "sudo는 : 호스트 xxxxx는 해결할 수없는"를 야기는 sudo를 사용하여 호스트
WoodyDRN

70

아주 쉽습니다 :

  1. 편집 /etc/hostname하고 이름을 변경하고 파일을 저장하십시오.

  2. /etc/hosts파일도 동일하게 변경해야 합니다

  3. 운영 sudo service hostname start

'이전'호스트 이름에 따라 응용 프로그램 설정이 없으면 괜찮습니다 ;-)


31
경고 : 변경 / etc / hosts 파일없이 이렇게 할 경우 그에 따라 당신은 당신의 호스트가 실패하기 때문에 참조하기위한 sudo를 사용할 수 없습니다
주앙 핀투

/ etc / hosts를 편집하는 것이 옳습니다. sudo는 변경하지 않고 잘 작동하는 것 같습니다 (기계를 다시 시작했지만 여전히 작동합니다)
Pavlos G.

1
괜찮습니다 . hostname이제 서비스가에서 관리되는 것처럼 그렇게 할 수 있습니다 upstart. 정확히 똑같은 일을하고 서비스를 다시 시작하십시오.
Pavlos G.

2
참고 : 우분투 14.x에서는 hostname더 이상 작동 하지 않습니다.init.d
Rápli András

2
경고 : 기본적으로 cloud-init를 실행하는 Ubuntu 18+ (부팅시 호스트 이름을 제어)는 작동하지 않습니다.
nslntmnx

24

시스템 호스트 이름 구성 파일 (/ etc / hostname)과 호스트 이름 이름 확인 파일 (/ etc / hosts)을 모두 편집해야합니다. 터미널에서 다음을 실행하십시오.

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

2
으로 시스템 종료를 피할 수 있습니다 sudo service hostname restart.
Wtower

3
@Wtower 14.04에서는 작동하지 않습니다. :(
dotslash

경고 : 기본적으로 cloud-init를 실행하는 Ubuntu 18+ (부팅시 호스트 이름을 제어)는 작동하지 않습니다.
nslntmnx

18

/ etc / hosts 및 / etc / hostname을 편집하는 것 외에도 다양한 서비스에 변경 사항이있을 수 있습니다. MySQL과 postfix는 기본적으로 우분투에 설치됩니다. 깨진 포스트 픽스는 많은 우분투 사용자에게 영향을 미치지 않습니다. 왜냐하면 많이 사용하지 않는 배경 전자 메일 서버이기 때문입니다.

접미사 :

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

mysql의 기본 설정은 호스트 이름을 사용하지 않으므로 그대로 작동합니다. 사용자 정의한 경우 / etc / mysql /에서 파일을 편집하고 서비스를 다시 시작하십시오.

가상 터미널 및 원격 로그인에 표시되는 / etc / motd (오늘의 메시지)를 편집 할 수도 있습니다. 그래도 아무것도 해치지 않습니다.

설치해야 할 다른 서비스로는 apache, bind9 등이 있습니다. 각각의 경우 구성에서 호스트 이름을 찾아서 편집 한 후 서비스를 다시 시작하십시오.


14

호스트 이름은 고유 로컬 네트워크 (그리고 아마도뿐만 아니라 인터넷)에 컴퓨터를 식별 그래서 당신은 당신이 무엇을하고 있는지 알지 못한다면 그것을 변경하는 것은 좋은 생각이 아니다.

그러나 .belkin(도메인 이름 부분) 을 표시하지 않도록 쉘 프롬프트를 변경할 수 있습니다 .

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

자세한 내용은 bash 매뉴얼 페이지 와 특히 프롬프트 섹션 을 참조하십시오.


14

호스트 이름을 바꾸는 또 다른 안전하고 안전한 방법

ailurus 설치

  • PPA 추가 및 리포지토리 업데이트

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

  • ailurus 설치

    sudo apt-get install ailurus

  • 설치 후 응용 프로그램 >> 시스템 도구 >> Ailurus에 있습니다.
    대체 텍스트

5
왜 이것이 부정적인 투표를 받고 있습니까? 커맨드 라인에서 혼란을 겪고 프로세스를 중단시키는 것보다 전용 도구로 무언가를 구성하는 것이 좋습니다.
endolith

38
호스트 이름을 변경하기 위해 이러한 큰 소프트웨어를 설치하는 것은 약간 과잉입니다
Nemo

9
특히 저장소에서 사용할 수 없지만 PPA에서 설치해야하기 때문에 이는 지나치게 과도하다는 데 동의합니다.
Marcel Stimberg

@ karthick87 아마도 귀하의 답변에 이것이 다른 소프트웨어 (다른 구성 옵션 포함) 소프트웨어라고 언급 했습니까? - 개인적으로 나는 (내가 PPA에서 또한 현재 우분투 트윅 사용) 하나의 간단한 변경 포인트 도구는 명령 줄 작업을 많이보다 낫다 endolith에 동의
david.libremone

이 도구를 사용하면 몇 개의 파일에서 단어를 바꾸는 것보다 훨씬 더 많은 것을 (그리고 더 쉽게) 깰 수 있다고 생각합니다. 너무 많은 것들이 당신에게 노출되었습니다.
gerlos

9

텍스트 편집기로 놀고 싶지 않다면 Ubuntu Tweak (웹 사이트에서 토론을 가져 오십시오)는 가지고 다닐 수있는 작은 것들 중 하나로서 (당신이 만들고 싶어 할 수있는 많은 다른 작은 조정과 함께) 실제로 터미널과 파일 자체를 가지고 놀고 싶지는 않습니다.)


호기심으로 Ubuntu Tweak이 소프트웨어 저장소에없는 특별한 이유가 있습니까?
Olivier Lalonde

그들은 그것을 추가하거나 결코 받아들이지 않았습니다. 조정을 시작한 직후 또는 터미널 / 리포지토리 목록을 통해 해당 리포지를 목록에 추가 할 수 있습니다.
dkuntz2

당신은 또한으로 PPA로 우분투 트윅을 추가 할 수 있습니다 sudo add-apt-repository ppa:tualatrix/ppasudo apt-get update다음 sudo apt-get install ubuntu-tweak
david.libremone

1
참고 ~ 13.04 우분투 비틀기는 더 이상이 옵션을 제공하지 않기 때문에
david.libremone

9

사용 hostname하여 호스트 이름을 변경하는 명령을

sudo hostname newname

그러나 이것은 호스트 파일을 편집하지 않으므로 컴퓨터가 자신을 인식하도록해야합니다.

gksudo /etc/hosts

호스트 이름에 127.0.0.1을 가리키는 새 항목을 추가하십시오.

127.0.0.1 oldname newname

이전 항목을 제거 할 수도 있지만 거기에 보관하는 것이 좋습니다.


7

다음 명령은 호스트 이름을 즉시 변경하지만 영구적으로 변경하려면 편집해야합니다 /etc/hostname.

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

새로운 터미널 세션을 열면 바로 볼 수 있습니다.

systemd장소에서 그것을 할 수있는 적절한 방법입니다

hostnamectl set-hostname "new_name"

4

GUI 지원 프로세스를 원하면 Ubuntu-Tweak을 설치하십시오. 이 응용 프로그램의 다른 용도 중 탭 "컴퓨터 세부 사항"-> "호스트 이름"을 통해 컴퓨터 이름을 변경하는 기능이 있습니다


3

시스템 설정-> 세부 사항-> Overwiev (기본값은 U16.04에서 열림)-장치 이름.

또한 / etc / hosts에서 이름을 변경해야합니다. 우분투 버그 ()?


호스트 이름을 변경하는 것이 좋은 방법이라고 생각합니다.
jawtheshark

2

터미널을 열고

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

# you need restart to effect with...

sudo shutdown -r 0

경고 : 기본적으로 cloud-init를 실행하는 Ubuntu 18+ (부팅시 호스트 이름을 제어)는 작동하지 않습니다.
nslntmnx
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.