스크립트를 통해 Debian 호스트 이름 바꾸기: 내 작업을 확인해야 합니다.

스크립트를 통해 Debian 호스트 이름 바꾸기: 내 작업을 확인해야 합니다.

모든 기반(도메인 이름 제외)을 다루었는지 확인하고 싶었습니다. 내가 아는 한 모든 것이 잘 작동합니다.

#!/bin/sh

# Needs 1 and only 1 argument
if [ "$#" -ne 1 ]; then
  echo "Usage: $0 NEW-HOSTNAME" >&2
  exit 1
fi

# I could probably put in a regex here to check that the hostname is good.

# Change the hostname in the session (does this even do anything?)
sudo hostname -b ${1}

# Change the visible hostname permanently (writes to /etc/hostname)
sudo hostnamectl set-hostname ${1}

# Change the mail hostname if there is one
if [ -f "/etc/mailname" ]; then
  echo ${1} | sudo tee /etc/mailname > /dev/null
fi

# Change the hostname in the hosts file (aka the fun one)
my_temp=`mktemp`
grep -v "127.0.1.1" < /etc/hosts > ${my_temp}
echo 127.0.1.1    ${1} >> ${my_temp}
sudo cp ${my_temp} /etc/hosts
rm -f ${my_temp}

# And now for a reboot
echo "Rebooting."
sudo shutdown -r now

내가 정말 신경질적이라면 이전 호스트 이름을 저장하고 재부팅 후 참조로 사용하여 남아 있는 xauth 쿠키를 모두 지울 수 있을 것 같습니다.

관련 정보