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用户所以我不知道还能做什么。
答案 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
}