답변:
그것은 간단합니다. 화면 오른쪽 상단에있는 톱니 바퀴 아이콘을 클릭하고 "컴퓨터 정보"화면 (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
새 호스트 이름이 포함되도록합니다. (그렇지 않으면 많은 명령이 작동하지 않습니다.)
/etc/hosts
(다른 답변을 참조)
hostname
즉시 적용하려면 새 이름을 발생합니다, 당신도 변경되는 경우를 제외하고 "영구적"아니다 /etc/hostname
및 /etc/hosts
그 물론, 당신은하지 않을 수 있습니다 다시 시작 또는 충돌, 후 읽을 수 있습니다 파일이 있기 때문에 미리 기대합니다.
이 hostnamectl
명령은 Desktop 및 Server 에디션 모두에서 기본 설치의 일부입니다.
hostname
명령을 통한 호스트 이름 설정 과 편집 이 결합 됩니다 /etc/hostname
. 정적 호스트 이름을 설정하는 것 외에도 우분투에서는 사용하지 않는 "pretty"호스트 이름을 설정할 수 있습니다. 불행히도 편집은 /etc/hosts
여전히 개별적으로 수행해야합니다.
hostnamectl set-hostname new-hostname
이 명령은 systemd-services
패키지의 일부입니다 (Ubuntu 14.04부터 timedatectl
and 및 localectl
명령 포함). Ubuntu가로 마이그레이션함에 따라이 systemd
도구는 미래입니다.
hostnamectl
존재하지 않습니다. 우분투의 일부 맛이 아직 체계화되어 있지 않은 것 같아요.
다시 시작하지 않고 우분투에서 호스트 이름 또는 컴퓨터 이름 변경
/ etc / hostname을 편집하고 새 값으로 변경하십시오.
nano /etc/hostname
/ etc / hosts를 편집하고 이전 127.0.1.1 행을 새 호스트 이름으로 변경하십시오.
127.0.0.1 localhost
127.0.1.1 ubuntu.local ubuntu # change to your new hostname/fqdn
참고 : 포럼에서 읽은 후 / etc / hosts 편집하고 이전 127.0.1.1 줄을 새 호스트 이름으로 변경하십시오 (이를 수행하지 않으면 더 이상 sudo를 사용할 수 없습니다. 이미 완료 한 경우) , grub 메뉴에서 ESC를 누르고 복구를 선택한 다음 호스트 파일을 올바른 설정으로 편집하십시오.)
재부팅 후 호스트 이름은 새로 선택한 이름이됩니다.
재부팅하지 않고 변경 하려면 / etc / hostname을 편집 한 후 hostname.sh를 사용하면됩니다. 아래 명령을 실행할 때까지 호스트 이름을 모두 /etc/hosts(127.0.0.1 newhost oldhost)에 유지해야합니다.
sudo service hostname start
참고 : 위 명령은 변경 사항을 활성화합니다. 이 파일에 저장된 호스트 이름 (/ etc / hostname)은 시스템 재부팅시 유지되며 동일한 서비스를 사용하여 설정됩니다.
sudo: unable to resolve host old-hostname
. 그 부분에서는 @jesperado 솔루션이 잘 작동합니다.
/etc/hosts
등을 포함하여 12.04.2 LTS에서 mant 일이 실패하기 시작합니다 . 업데이트해야합니다w
/sbin/reboot
/etc/hosts
127.0.0.1
를 위해 localhost
및 127.0.1.1
사용자 정의 호스트 이름. 권리? 그런 다음 답변이 끝날 때까지 rebot이없는 작업의 경우/etc/hosts
및 을 참조하십시오 127.0.0.1 newhost oldhost
. 따라서 127.0.1.1
주소 가 필요하지 않습니까?
sudo nano /etc/hosts
변경 사항을 적용하려면 사용해야 했습니다. sudo 없이는 nano /etc/hosts
변경 사항을 저장하지 않았습니다
기본 이름은 Ubuntu를 설치할 때 설정되었습니다. 호스트 및 호스트 이름 파일을 편집하여 데스크탑 및 서버 모두에서 원하는대로 쉽게 변경할 수 있습니다. 방법은 다음과 같습니다.
sudo hostname NEW_NAME_HERE
다음에 다시 부팅 할 때까지 호스트 이름이 변경됩니다. 변경 사항은 현재 터미널에서 즉시 보이지 않습니다. 새 호스트 이름을 보려면 새 터미널을 시작하십시오.
이름을 영구적으로 변경하려면 명령을 실행하여 호스트 파일을 편집하십시오.
sudo -H gedit /etc/hostname
과 sudo -H gedit /etc/hosts
GUI를하지 않고 우분투 서버의 실행 sudo vi /etc/hostname
및 sudo vi /etc/hosts
및 하나씩 편집 할 수 있습니다. 두 파일 모두에서 이름을 원하는 것으로 변경하고 저장하십시오.
마지막으로 컴퓨터를 다시 시작하여 변경 사항을 적용하십시오.
다음은 규정 된 방식으로 호스트 이름을 변경하는 스크립트입니다. 그것은뿐만 아니라 보장 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}')"
su $SUDO_USER -c "xauth add $(xauth list | sed 's/^.*\//'"$NEW_HOSTNAME"'\//g' | awk 'NR==1 {sub($1,"\"&\""); print}')"
합니까? 그냥 궁금해서
xauth list
)을 사용하고 이전 호스트 이름을 새 호스트 이름 ( sed
)으로 바꿉니다 . 그런 다음 awk
첫 번째 인수 따옴표를 넣에 xauth add
있기 때문에 xauth
의 입력 및 출력 형식은 대칭이 아니다.
다시 시작하지 않고 :
/etc/hostname
/etc/hosts
그에 따라 업데이트sudo sysctl kernel.hostname=mynew.local.host
현재 호스트 이름을 확인하십시오 hostname -f
sudo: unable to resolve host oldname
, sysctl: setting key "kernel.hostname": Read-only file system
. 아마도 Proxmox 내부의 CT 때문일 수 있습니다.
위의 접근 방식 ( 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
/etc/cloud/cloud.cfg
. 패키지 이름은 무엇입니까? 그냥 cloud-init
?
/etc/hostname
원하는 호스트 이름으로 내용을 바꿉니다 (로 편집 가능 sudo nano /etc/hostname
)/etc/hosts
127.0 옆에있는 항목을 교체. 1 원하는 호스트 이름 0.1 (당신이 편집 할 수 있습니다 sudo nano /etc/hosts
)sudo service hostname restart; sudo service networking restart
# if you do nothing you'll end up with: # * /etc/hostname (and 'hostname') managed via: 'preserve_hostame: false' # if you do not change /etc/hostname, it will be updated with the cloud # provided hostname on each boot. If you make a change, then manual # maintenance takes over, and cloud-init will not modify it.
현재 Ubuntu 18이 없으므로 주말까지 테스트 할 수 없습니다.
원래 포스터의 질문에 대한 고전적인 대답은 일단 편집 한 후에는 ( ) 옵션을 루트로 하여 hostname (1) 을 /etc/hostname
실행하여 다시 시작하지 않고 적용 할 수 있다는 것입니다 .-F
--file
sudo hostname -F /etc/hostname
호스트 (5) 로 처리 /etc/hostname
하고 상기 프로그램은 이제 20여 년 동안 데비안과 파생 상품 같은 왔으며, 패키지는 제공 태그 된 필수 및 요구 , 그리고 IIRC는 init 스크립트는 그대로을 위해 같은 일을 사용했다 수십 년 ( /etc/init/hostname.conf
여전히 포함되어 있음), 나는 아무도 이것을 이미 언급하지 않은 방법에 대해 정말로 당황 스럽다고 말해야합니다. :)
나는 대답을 읽었지만 아마도 당신이 이것을 찾고 있다고 생각합니다.
/etc/hostname
파일 을 편집 한 후이 두 명령을 실행 하십시오.
$ sudo service hostname restart
$ exec bash
그게 다야. 다시 시작할 필요가 없으며 /etc/hosts
파일 의 이름도 변경해야 합니다.
/etc/hosts
(14.04에서 확인했습니다).