Хостнейм — это не «милое имя компьютера», как любят писать в гламурных гайдах, а твой сетевой позывной.
Если у тебя в сети два одинаковых имени — готовься к весёлым багам, странным подключением и вопросу «а почему у нас база внезапно лежит?».

Менять его в Ubuntu 20.04 можно без перезагрузки, но есть пара нюансов.

Шаг 0. Узнай, кто ты сейчас

Перед тем как менять, глянь, что у тебя уже стоит:

hostnamectl

Видишь — там есть три варианта имени:

  • static — основное, прописано в /etc/hostname.
  • pretty — «красивое» UTF8-имя, которое видит человек.
  • transient — временное, которое может прилететь от DHCP или mDNS.

Обычно нам нужен static, а если хочешь заморочиться — можно и остальные подкрутить.

Шаг 1. Меняем

Классика:

sudo hostnamectl set-hostname myhost.example.com

Хочешь «красивое» имя с пробелами:

sudo hostnamectl set-hostname "Мое моджо" --pretty

Статическое отдельно:

sudo hostnamectl set-hostname myhost.example.com --static

Временное (для текущей сессии):

sudo hostnamectl set-hostname temp-name --transient

После этого статическое имя уедет в /etc/hostname, а pretty — в /etc/machine-info.

Шаг 2. /etc/hosts

Если у тебя там до этого было:

127.0.0.1   localhost
127.0.0.1   oldname

Меняешь oldname на новый:

127.0.0.1   localhost
127.0.0.1   myhost.example.com

Без этого некоторые сервисы будут смотреть на старое имя и плеваться.

Шаг 3. Если у тебя облако

В облачных образах Ubuntu почти всегда стоит cloud-init, который любит по-тихому вернуть твой хостнейм обратно.
Открывай:

sudo vim /etc/cloud/cloud.cfg

Находи:

preserve_hostname: false 

Меняй на:

preserve_hostname: true 

Сохраняй. Теперь cloud-init не будет дерзить.

Шаг 4. Проверяем

hostnamectl

Если там твой новый хостнейм — значит, всё норм, можно работать.