Невозможно изменить имя хоста на raspberry pi

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

В настоящее время я получаю эту ошибку, когда подписываюсь на Как изменить имя хоста Raspberry Pi


Когда я набираю sudo nano /etc/hosts, я получаю пустой файл, и когда я набираю sudo nano /etc/hostname, я также получаю пустой файл. Я попытался сохранить новое имя хоста в /ect/hostname, но получаю указанную выше ошибку. Обычно я не пользователь Linux, поэтому я не знаю, что еще делать.


person user3055560    schedule 01.12.2013    source источник
comment
Вы пробовали hostname <name>?   -  person Guido    schedule 02.12.2013
comment
@Guido hostname установит имя хоста только до следующей перезагрузки. /etc/hostname — подходящее место для постоянной настройки. Однако, я думаю, это просто опечатка в пути, как сказал Блендер.   -  person hek2mgl    schedule 02.12.2013
comment
Ооо... да, орфографическая ошибка -.- Спасибо, что указали на это. теперь все работает.   -  person user3055560    schedule 02.12.2013


Ответы (1)


Согласно 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
}
person Brian    schedule 09.12.2019