Найти в Дзене
Эникей на передержке

[Решено] Как переименовать хост Linux | Debian based

Для изменения имени хоста требуются всего 2 команды. Первая: `hostnamectl set-hostname <новое-имя>`. Вторая: `sudo sed -i "s/\b<старое-имя>\b/<новое-имя>/g" /etc/hosts`. Задайте новое имя хоста в переменной NEW_HOSTNAME и выполните команды ниже: NEW_HOSTNAME="nginx-server-01"
OLD_HOSTNAME=$(hostname) sudo hostnamectl set-hostname "$NEW_HOSTNAME"
sudo sed -i "s/\b$OLD_HOSTNAME\b/$NEW_HOSTNAME/g" /etc/hosts Недостатки: нет проверок, в случае неудачи нужно будет восстанавливать всё вручную. Чтобы получить предсказуемость, различные проверки и автоматический откат в случае неудачи, рекомендую воспользоваться скриптом, который можно скачать из облака или tg. Перед запуском необходимо сделать файл исполняемым: chmod +x ./rename-host.sh Запуск: # Переименовать локальный хост
./rename-host.sh NEW_HOSTNAME # Переименовать удалённый хост
ssh user@host 'bash -s' < ./rename-host.sh NEW_HOSTNAME Способ, описанный в статье, походит для особых случаев, когда действия необходимо выполнить быстро и
Оглавление

Для изменения имени хоста требуются всего 2 команды.

Первая: `hostnamectl set-hostname <новое-имя>`.

Вторая: `sudo sed -i "s/\b<старое-имя>\b/<новое-имя>/g" /etc/hosts`.

Для копипаста

Задайте новое имя хоста в переменной NEW_HOSTNAME и выполните команды ниже:

NEW_HOSTNAME="nginx-server-01"
OLD_HOSTNAME=$(hostname)
sudo hostnamectl set-hostname "$NEW_HOSTNAME"
sudo sed -i "s/\b$OLD_HOSTNAME\b/$NEW_HOSTNAME/g" /etc/hosts

Недостатки: нет проверок, в случае неудачи нужно будет восстанавливать всё вручную.

Полноценный скрипт

Чтобы получить предсказуемость, различные проверки и автоматический откат в случае неудачи, рекомендую воспользоваться скриптом, который можно скачать из облака или tg.

Фрагмент скрипта
Фрагмент скрипта

Перед запуском необходимо сделать файл исполняемым:

chmod +x ./rename-host.sh

Запуск:

# Переименовать локальный хост
./rename-host.sh NEW_HOSTNAME
# Переименовать удалённый хост
ssh user@host 'bash -s' < ./rename-host.sh NEW_HOSTNAME

Заключение

Способ, описанный в статье, походит для особых случаев, когда действия необходимо выполнить быстро и без дополнительных зависимостей.