无法更改raspberry pi上的主机名

时间:2013-12-01 23:12:43

标签: linux raspberry-pi raspbian

Error writting /ect/hostname: no such file or directory

当我关注How to change raspberry pi hostname

时,我正在收到该错误

当我输入 sudo nano / etc / hosts 时,我会收到一个空白文件,当我输入 sudo nano / etc / hostname 时,我也会得到一个空白文件。我试图在/ ect / hostname中保存新的主机名,但我得到上面的错误。我通常不是Linux用户所以我不知道还能做什么。

1 个答案:

答案 0 :(得分:0)

根据raspi-config,您需要执行以下3个步骤

  • 用新的主机名替换/etc/hostname
  • 编辑/etc/hosts以替换127.0.1.1 $CURRENT_HOSTNAME 127.0.1.1 $NEW_HOSTNAME
  • 必须重新启动才能看到效果

这可以通过以下方法快速完成:

sudo raspi-config nonint do_hostname ${NEW_HOSTNAME}
sudo reboot # Must reboot to see change

这是因为raspi-config是bash脚本,并且具有可以使用的非交互模式。截至目前,这是我们试图在下面触发的内容:

do_hostname() {
  if [ "$INTERACTIVE" = True ]; then
    whiptail --msgbox "\
Please note: RFCs mandate that a hostname's labels \
may contain only the ASCII letters 'a' through 'z' (case-insensitive), 
the digits '0' through '9', and the hyphen.
Hostname labels cannot begin or end with a hyphen. 
No other symbols, punctuation characters, or blank spaces are permitted.\
" 20 70 1
  fi
  CURRENT_HOSTNAME=`cat /etc/hostname | tr -d " \t\n\r"`
  if [ "$INTERACTIVE" = True ]; then
    NEW_HOSTNAME=$(whiptail --inputbox "Please enter a hostname" 20 60 "$CURRENT_HOSTNAME" 3>&1 1>&2 2>&3)
  else
    NEW_HOSTNAME=$1
    true
  fi
  if [ $? -eq 0 ]; then
    echo $NEW_HOSTNAME > /etc/hostname
    sed -i "s/127.0.1.1.*$CURRENT_HOSTNAME/127.0.1.1\t$NEW_HOSTNAME/g" /etc/hosts
    ASK_TO_REBOOT=1
  fi
}