/etc/hostname을 편집하여 호스트 이름을 변경했으며 및 명령을 사용하여 새 호스트 이름을 볼 수 hostname
있습니다 hostname -F
.
그러나 쉘 프롬프트에는 여전히 이전 호스트 이름이 표시됩니다.
그런데, 이것은 우분투 11.0.4입니다. 프롬프트는 내 것으로 설정되어 .bashrc
있으며 편집하지 않았습니다. 로그아웃하거나 다시 시작해도 아무런 효과가 없습니다.
표준 Ubuntu의 관련 부분 .bashrc
:
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
(로그인할 때 $debian_chroot가 설정되지 않았습니다...)
호스트 이름은 특수 문자 \h로 선택되는 것 같습니다.
이는 셸에 보고된 PS1 설정입니다.
PS1='\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
이것이 PS1이 보여주는 것입니다:
username@oldhostname:~$
Warren의 답변에 나온 정확한 명령을 사용하여 프로세스를 반복했습니다. 호스트 이름은 재부팅할 때까지 유효했지만 /etc/hostname
새 호스트 이름이 포함된 경우에도 손실된 것으로 나타났습니다 .
답변1
나는 Keith와 Warren의 이전 답변과 실제 솔루션을 기반으로 내 자신의 질문에 대답하고 있습니다. 인지된 문제는"호스트 이름을 변경했는데 왜 bash PS1 프롬프트가 변경되지 않았나요?"실제 문제는"재부팅 시 시스템이 이전 호스트 이름으로 되돌아가는 이유는 무엇입니까?"
이 특별한 경우에 대한 대답은 다음과 같습니다.DHCP는 로컬 설정을 무시하도록 구성됩니다.
호스트 이름을 변경하는 효율적인 방법
다음은 우분투에 대한 것입니다.ymmv.
이 파일을 편집하여 영구 호스트 이름을 변경하십시오
/etc/hostname
.echo 'mynewhostname' | sudo tee /etc/hostname
실행 중인 시스템의 호스트 이름을 변경하려면 다음을 사용하십시오.CPU 이름주문하다. 1단계가 없으면 재부팅 시 재설정됩니다. 방금 설정한 값을 사용하는 것이 좋습니다.
sudo hostname -F /etc/hostname
또는 그에 상응하는 것:
sudo hostname `cat /etc/hostname`
.NET에서 FQDN(정규화된 도메인 이름)을 설정합니다
/etc/hosts
.발췌:
127.0.0.1 mynewhostname.mydomainname.com mynewhostname
컴퓨터가 DHCP 클라이언트를 실행하고 있는지 확인하십시오. IP 주소 외에도 DHCP 서버는 호스트 이름 및 DNS 확인과 같은 설정을 재정의할 수도 있습니다. "클라우드" 호스팅 서비스는 구성 파일을 편집하지 않고도 디스크의 컴퓨터 이미지를 여러 번 재사용할 수 있도록 이 작업을 수행할 수 있습니다.
있는 경우 DHCP 클라이언트 구성 파일을 편집하여
/etc/default/dhcpcd
이 지시어를 주석 처리합니다SET_HOSTNAME
.#SET_HOSTNAME='yes'
가능하다면 시스템을 다시 시작하고 이름이 변경되었는지 확인하세요.
hostname
4단계는 나에게 새로운 것이었고 나를 당황하게 만들었다. 이 답변에 전체 프로세스를 문서화하는 것이 유용할 것이라고 생각했습니다. 이 단계는 (Linode)에서 제공되었습니다.내 호스팅 서비스에 대한 설명정말 제대로 읽었어야 했는데.
답변2
이 파일은 /etc/hostname
호스트 이름의 영구 복사본을 보유하고 있으며 시작 중에 런타임 복사본을 설정하는 데 사용됩니다. 다시 시작하지 않고 런타임 복사본을 변경하려면 다음과 같이 말하세요.
$ sudo hostname `cat /etc/hostname`
hostname(1)
또는 새 호스트 이름을 명령 에 대한 인수로 전달하면 됩니다 .
답변3
h
다음을 대문자로 사용하세요PS1
:PS1='${debian_chroot:+($debian_chroot)}\u@\H:\w\$ '
답변4
/h
그때 FQDN을 언급 하셨군요 PS1
. 이제 사용하려는 이전 호스트 이름과 새 호스트 이름을 게시해 주시겠습니까?
/h
첫 번째 "." 앞에 호스트 이름을 표시합니다./H
전체 FQDN 표시
시도 해봐