Translation(s): English — Italiano — Русский
Переименование компьютера
Эта страница объясняет, как изменить hostname системы (т.е. переименовать компьютер/сервер)
Смотрите также: hostname(1).
Contents
-
Переименование компьютера
-
Базовые сетевые настройки
- systemd
-
Специфические приложения
- avahi
- CUPS
- ejabberd
- Exim
- Mailname
- Сообщение дня
- OpenSSH
- Самоподписанный SSL сертификат
- ssmtp
- sysklogd
- fail2ban
- lvm
-
Скрипт, который может вам помочь
- Опасный скрипт
- Улучшенный вариант скрипта
- Другой вариант скрипта
- Смотрите также
-
Базовые сетевые настройки
Базовые сетевые настройки
-
Обновить /etc/hostname
-
Обновить /etc/hosts, так локальный адрес(адреса) разрешается с новым именем системы.
- Перезагрузить конфигурацию сети. У вас есть два варианта:
- Обновить конфигурационные файлы
Это временно отключит вашу систему от сети (ssh, обычно, удерживает связь при кратковременных разъединениях)
Это может окончательно отсоединить вашу систему от сети потому что сеть может не восстановить соединение; для гарантированного применения настроек лучше перезагрузить систему, это больше даст гарантии от возможных ошибок.
- Обновить конфигурационные файлы
invoke-rc.d hostname.sh start invoke-rc.d networking force-reload invoke-rc.d network-manager force-reload
ToDo: is it useful to reload network-manager?
-
или ленивый способ: Перезагрузить систему.
systemd
В версиях Debian с установленным systemd, можно использовать команду «hostnamectl set-hostname mymachine». Этот инструмент зависит от dbus поэтому обязательно установите его в первую очередь.
Специфические приложения
avahi
Avahi использует так называемые публикации (объявления) локальным службам. Если вы изменяли файлы /etc/avahi/* вы должны выполнить:
invoke-rc.d avahi-daemon force-reload
CUPS
CUPS это Common Unix Printing System.
Нужно настроить файл /etc/printcap.
Вы должны поменять hostname в любой такой линии: Kyocera_TASKalfa_3050ci|Kyocera TASKalfa 3050ci:rm=debian:rp=Kyocera_TASKalfa_3050ci:
Вы должны перезапустить службу, чтобы изменения вступили в силу.
ejabberd
Обратитесь к оф. документации https://docs.ejabberd.im/.
Exim
Перенастроить Exim (это затронет /etc/exim4/update-exim4.conf.conf и /etc/mailname):
dpkg-reconfigure exim4-config
Или настроить вручную /etc/exim4/update-exim4.conf.conf (hostname=). После этого надо перезапустить службу.
Mailname
Перенастроить Exim (см. выше) или настроить вручную /etc/mailname. После этого не надо перезапускать службу.
Сообщение дня
Настроить /etc/motd. После этого не надо перезапускать службу.
OpenSSH
Настроить /etc/ssh/ssh_host_rsa_key.pub, /etc/ssh/ssh_host_dsa_key.pub, /etc/ssh/ssh_host_ed25519_key.pub и /etc/ssh/ssh_host_ecdsa_key.pub (root@hostname в конце). После этого надо перезапустить службу.
Самоподписанный SSL сертификат
Пересоздать самоподписанный сертификат, созданный пакетом the ssl-cert используя правильный hostname вашего компьютера.
make-ssl-cert generate-default-snakeoil --force-overwrite
После этого надо перезапустить службу использующие это, например apache2.
ssmtp
Легковесная программа Ssmtp, для отправки только через SMTP.
Настроить /etc/ssmtp/ssmtp.conf (hostname=, и т. д.). После этого не надо перезапускать службу.
sysklogd
Перезапустите службу sysklogd.
fail2ban
fail2ban scan logs to detect connection failures and can ban IP on too many failures.
The hostname may be in the sender mail address in /etc/fail2ban/jail.local. You need to reload the service.
lvm
Logical Volume Manager (LVM) is a device mapper target that provides logical volume management.
Hostname появляется в резервной копии конфигурационного файла /etc/lvm/backup/<your Volume Group>.
Скрипт, который может вам помочь
Опасный скрипт
Вы должны понимать, что данный скрипт может быть опасен для вашей системы. Вы должны проверить наличие всех файлов grep -rl «$old» /etc, которые должны быть модифицированы перед запуском этого скрипта:
1 #!/bin/bash 2 # 3 usage() { 4 echo "usage : $0 <new hostname>" 5 exit 1 6 } 7 8 [ "$1" ] || usage 9 10 old=$(hostname) 11 new=$1 12 13 grep "$old" /etc/ -rl 2>/dev/null | 14 while read file 15 do 16 sed "s:$old:$new:g" "$file" > "$file.tmp" 17 mv -f "$file.tmp" "$file" 18 done
Улучшенный вариант скрипта
Этот скрипт будет делать тоже самое, что и скрипт выше, но он будет спрашивать о каждом файле, который надо изменить, прежде чем он отредактирует файл.
1 #!/bin/bash 2 # 3 4 # Fetching new and old hostname 5 OLD_HOSTNAME=$(hostname) 6 NEW_HOSTNAME=$1 7 8 WHIPTAIL_TITLE="Changing hostname" 9 WHIPTAIL_BACKTITLE="ShrimpDev <dev@csoellinger.at>" 10 WHIPTAIL_TEXT="Below you will find a checklist with all files where we found your old hostname "${OLD_HOSTNAME}" inside /etcnnPlease check which files we should update to your new hostname "${NEW_HOSTNAME}"" 11 12 not_root() { 13 echo "ERROR: You have to be root to execute this script" 14 exit 1 15 } 16 17 usage() { 18 echo "usage : $0 <new hostname> [Optional:--backup/Set backup mode on] [Optional:--debug/Set debug mode on]" 19 exit 1 20 } 21 22 # Check if user is root 23 [ $EUID != 0 ] && not_root 24 25 # Check if we have at least one parameter 26 [ "$1" ] || usage 27 28 [ "$1" == "--backup" ] && usage 29 [ "$1" == "--debug" ] && usage 30 31 DEBUG="NO" 32 BACKUP="NO" 33 34 if [ "$2" == "--debug" ] || [ "$3" == "--debug" ]; then 35 DEBUG="YES" 36 fi 37 38 if [ "$2" == "--backup" ] || [ "$3" == "--backup" ]; then 39 BACKUP="YES" 40 fi 41 42 [ "$DEBUG" == "YES" ] && echo "DEBUG (NO FILES WILL BE CHANGED)" 43 [ "$BACKUP" == "YES" ] && echo "BACKUP MODE ON" 44 45 # Grep all possible targets 46 TARGETS=($(grep "$OLD_HOSTNAME" /etc/ -rl)) 47 let TARGETSLENGTH=${#TARGETS[@]} 48 49 CHECKLIST=() 50 for ((i=0; i<${#TARGETS[@]}; i++)); do 51 CHECKLIST+=("${TARGETS[$i]}" "" "ON") 52 done 53 54 CHECKLIST_RESULT=$(whiptail --clear --fb --title "$WHIPTAIL_TITLE" --backtitle "$WHIPTAIL_BACKTITLE" --checklist "$WHIPTAIL_TEXT" 30 80 $TARGETSLENGTH "${CHECKLIST[@]}" 3>&2 2>&1 1>&3) 55 CHECKLIST_RESULT=${CHECKLIST_RESULT//"/} 56 CHECKLIST_RESULT_ARR=(`echo $CHECKLIST_RESULT | tr ' ' 'n'`) 57 58 clear 59 60 for CHECKLIST_ITEM in "${CHECKLIST_RESULT_ARR[@]}"; do 61 echo "sed "s:${OLD_HOSTNAME}:${NEW_HOSTNAME}:g" "${CHECKLIST_ITEM}" > "${CHECKLIST_ITEM}.tmp"" 62 [ "$DEBUG" == "NO" ] && sed "s:$OLD_HOSTNAME:$NEW_HOSTNAME:g" "$CHECKLIST_ITEM" > "$CHECKLIST_ITEM.tmp" 63 64 if [ "$2" == "--backup" ]; then 65 echo "cp "${CHECKLIST_ITEM}" "${CHECKLIST_ITEM}.BCK"" 66 [ "$DEBUG" == "NO" ] && cp "$CHECKLIST_ITEM" "$CHECKLIST_ITEM.BCK" 67 fi 68 69 echo "mv -f "${CHECKLIST_ITEM}.tmp" "${CHECKLIST_ITEM}"" 70 [ "$DEBUG" == "NO" ] && mv -f "$CHECKLIST_ITEM.tmp" "$CHECKLIST_ITEM" 71 72 echo "" 73 done 74 75 exit 0
Другой вариант скрипта
#!/bin/bash # usage() { echo "usage : $0 <new hostname>" exit 1 } [ "$1" ] || usage old=$(hostname) new=$1 for file in /etc/exim4/update-exim4.conf.conf /etc/printcap /etc/hostname /etc/hosts /etc/ssh/ssh_host_rsa_key.pub /etc/ssh/ssh_host_dsa_key.pub /etc/motd /etc/ssmtp/ssmtp.conf do [ -f $file ] && sed -i.old -e "s:$old:$new:g" $file done
Смотрите также
-
hostname(1), hostname(7)
unix-linux:debian:change-hostname-on-debian-linux
Содержание
Как изменить имя хоста в Debian GNU/Linux
Здесь представлено несколько вариантов действий для смены имени хоста в операционной системе Debian GNU/Linux
Выяснить текущее имя хоста можно командой:
# uname -n
Смена имени с помощью утилиты hostname
Изменяем имя хоста с помощью команды hostname:
# hostname NEW-NAME
Смена имени с помощью утилиты sysctl
Кроме того, можно изменить имя хоста с помощью утилиты sysctl. Получить текущее имя хоста с помощью sysctl можно так:
# sysctl kernel.hostname
Установить новое значение можно так:
# sysctl kernel.hostname=NEW-NAME
Конфигурационный файл hostname
Установка имени таким образом будет действовать до перезагрузки. В процессе загрузки имя хоста считывается из файла /etc/hostname/
. Изменим запись о хосте в этом файле:
# nano /etc/hostname
После этого можно выполнить команду (она выполняется в процессе загрузки системы и считывает данные с файла /etc/hostname
)
# /etc/init.d/hostname.sh start
Конфигурационный файл hosts
Дополнительно нужно изменить запись о хосте в файле /etc/hosts
:
# nano /etc/hosts
- /etc/hosts
-
127.0.0.1 localhost 10.1.0.2 NEW-NAME.holding.com NEW-NAME # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters
Проверено на следующих конфигурациях:
Версия ОС |
---|
Debian GNU/Linux Jessie 8.6.0 |
Debian GNU/Linux Stretch 9.2.1 |
Автор первичной редакции:
Алексей Максимов
Время публикации: 06.12.2016 16:00
· Последнее изменение: 25.11.2017 12:04 —
Алексей Максимов
В этом руководстве объясняется, как изменить имя хоста в Debian 10 Buster без перезапуска системы.
Имя хоста задается во время установки операционной системы Debian или, если вы запускаете виртуальную машину, оно динамически назначается экземпляру при запуске.
Подготовка
Чтобы иметь возможность изменить системное имя хоста, вам необходимо войти в систему как пользователь root или пользователь с привилегиями sudo .
Показать текущее имя хоста
В Debian 10 и всех других дистрибутивах Linux, использующих systemd
, вы можете изменить и отобразить имя хоста данной системы с помощью инструмента hostnamectl
.
Чтобы просмотреть текущее имя хоста системы, введите hostnamectl
без каких-либо параметров:
hostnamectl
В выходных данных будет показано текущее имя хоста системы, в этом примере это host.linuxize.com
.
Static hostname: host.linuxize.com
Icon name: computer-vm
Chassis: vm
Machine ID: 70a3f06298014fd9ac42e5dc1de1034a
Boot ID: 1dc8b9af89a4426b99cb348f6d483757
Virtualization: oracle
Operating System: Debian GNU/Linux 10 (buster)
Kernel: Linux 4.19.0-5-amd64
Architecture: x86-64
Изменить имя хоста системы
Имя хоста — это метка, которая идентифицирует машину в сети. Вы не должны устанавливать одно и то же имя хоста на двух разных машинах в одной сети. В качестве имени хоста системы рекомендуется использовать полное доменное имя ( FQDN
).
При изменении имени хоста системы в Debian 10 необходимо выполнить два шага. Сначала установите новое имя хоста с помощью команды hostnamectl set-hostname
за которой следует желаемое имя хоста, а затем обновите файл /etc/hosts
с новым именем хоста.
Например, чтобы изменить системное имя хоста на arya.example.com
, вы должны сделать следующие шаги:
-
Сначала установите новое имя хоста, запустив:
sudo hostnamectl set-hostname arya.example.com
Команда
hostnamectl
не выводит данные. В случае успеха возвращается 0, в противном случае — ненулевой код ошибки. -
Во-вторых, откройте файл
/etc/hosts
и замените старое имя хоста новым./ etc / hosts
127.0.0.1 localhost 127.0.0.1 arya.example.com arya # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters
Проверить изменение
Чтобы убедиться, что имя хоста было успешно изменено, еще раз используйте команду hostnamectl
:
hostnamectl
Новое имя хоста системы будет напечатано в командной строке.
Static hostname: arya.example.com
Icon name: computer-vm
Chassis: vm
Machine ID: 70a3f06298014fd9ac42e5dc1de1034a
Boot ID: 1dc8b9af89a4426b99cb348f6d483757
Virtualization: oracle
Operating System: Debian GNU/Linux 10 (buster)
Kernel: Linux 4.19.0-5-amd64
Architecture: x86-64
Выводы
Изменение имени хоста системы в Debian 10 Buster — простая задача, состоящая всего из двух простых шагов.
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.
Имя компьютера или имя хоста системы используется для идентификации компьютера или сервера в сети. Это может быть локальная сеть (LAN) или Интернет. При установке ОС вас попросят задать имя компьютера или имя хоста, и оно должно быть уникальным, чтобы избежать конфликтов. Позже, когда вы захотите изменить имя компьютера, вам придется выполнить несколько команд или внести изменения в некоторые файлы конфигурации, чтобы добиться этого.
В этой статье мы расскажем о трех способах изменения имени компьютера, также известного как имя хоста, как через графический интерфейс пользователя, так и через командную строку.
Мы выполнили команды и процедуры, упомянутые в этой статье, на Debian 10 и Debian 11.
Содержание
- Через имя хоста и файл hosts
- С помощью команды hostnamectl
- Через графический интерфейс
Через имя хоста и файл hosts
Имя компьютера или имя хоста также можно изменить с помощью команды hostname. Чтобы просмотреть текущее имя хоста, просто введите hostname в терминале:
Теперь, чтобы изменить имя компьютера, используйте следующий синтаксис команды:
sudo hostname new_hostname
Замените new_hostname на то, которое вы хотите установить для своей системы.
Это также временный способ изменения имени компьютера. Существует также способ изменить имя компьютера навсегда. Для этого нам придётся отредактировать два разных конфигурационных файла /etc/hostname и /etc/hosts.
Сначала отредактируйте файл /etc/hostname, введя следующую команду в Терминале:
В нем будет указано имя вашего компьютера. Измените имя компьютера на новое, а затем нажмите Ctrl+O и Ctrl+X для сохранения и выхода из файла одновременно.
Затем отредактируйте файл /etc/hosts следующим образом:
Вы увидите имя компьютера, указанное напротив IP: 127.0.1.1.
Отредактируйте файл /etc/hosts
Измените имя этого компьютера на новое имя, затем сохраните и выйдите из файла, используя Ctrl+O и Ctrl+X одновременно. Теперь имя компьютера, которое вы только что задали, останется постоянным даже после перезагрузки системы.
С помощью команды hostnamectl
Существует еще одна команда hostnamectl, с помощью которой вы можете изменить имя вашего компьютера.
Теперь просто введите hostnamectl в терминале. Она отобразит подробную информацию о вашей системе, включая имя компьютера или имя хоста.
Чтобы изменить имя хоста компьютера с помощью команды hostnamectl, используйте следующий синтаксис:
hostnamectl set-hostname "new_hostname"
Замените new_hostname на то, которое вы хотите установить для своей системы.
Снова запустите команду hostnamectl, теперь вы увидите новое имя хоста, которое вы установили с помощью команды hostnamectl.
Через графический интерфейс
Чтобы изменить имя хоста через графический интерфейс, нажмите на стрелку вниз в правом верхнем углу рабочего стола Debian. В появившемся выпадающем меню нажмите на значок Настройки, как показано ниже, чтобы запустить утилиту Настройки.
Также вы можете открыть утилиту Настройки из системного меню Dash. Нажмите клавишу super на клавиатуре, затем в строке поиска введите настройки. Когда утилита появится, нажмите на нее, чтобы открыть.
Теперь перейдите на вкладку Подробности из левой панели. Вы увидите имя устройства или имя хоста в представлении О компьютере, как показано ниже:
Таким образом, имя хоста будет изменен
Изменение имени хоста с помощью этого метода не является постоянным. Оно вернется к старому имени, когда вы перезагрузите систему.
Дата статьи: 09.03.2011
Автор:
В этом совете я вам расскажу как изменить hostname в Debian/Ubuntu (обычно имя компьютера в сети).
Существуют 2 способа изменения имени компьютера в Debian/Ubuntu:
1. Однократное изменения имени hostname.
Плюсы:
( ) После перезагрузки пк, имя не изменится.
Минусы:
(-) А минусов тут нет смотрите ниже.
2. Многократное изменение имени.
Плюсы:
( )Если необходимо временно сменить hostname, то это считается за
Минусы:
(-)После перезагрузки ПК придется снова вводить команду для изменения имени компьютера в Debian/Ubuntu.
Итак, начнем со второго(самого простого) способа.
Для того, чтобы узнать как называется наш ПК в сети, вводим команду:hostname
В ответ получаем что то типа этого.
debian
Для того, чтобы изменить имя компьютера, нужно ввести команду:hostname
желаемое_имя
Например:hostname Lenny
Ну вот и изменили мы (до следующей сессии) имя hostname
Теперь приступим к первому(наиболее сложному):
Итак, рассмотрим что нужно для того чтобы однократно изменить имя компьютера в Debian/Ubuntu и больше не подходить к этому вопросу.
Системы, основанные на Debian, при загрузке читают файл /etc/hostname, чтобы установить имя компьютера. После чего, прочитанное имя устанавливается во время работы init-скрипта
/etc/init.d/hostname
в некоторых версиях
/etc/init.d/hostname.sh
. Таким образом, чтобы узнать текущее имя машины, можно в дополнение к вышеуказанному способу, так же использовать следующий подход:cat /etc/hostname
В ответ на это мы получим текущее имя компьютера.
Чтобы задать постоянное имя компьютеру, необходимо отредактировать этот файл:sudo nano /etc/hostname
После чего, необходимо перезапустить скрипт:sudo /etc/init.d/hostname
или sudo /etc/init.d/hostname.sh
После активируем демона hostname:/etc/init.d/hostname start
Если вас смущают эти команды, тогда можно просто перезагрузить ПК и у вас уже будет измененное hostname.
Пока не забыл! Нам еще нужно проверить файл /etc/hosts на предмет упоминания в нем старого имени компьютера. Если оно там встречается то его так же необходимо заменить на новое имя:sudo sed -i 's/debian/new-lenny/g' /etc/hosts
После этого необходимо переподнять сеть:sudo /etc/init.d/networking restart
Ну, вот и всё готово!
С вами был Денис!
До встречи!
Как изменить имя хоста в Debian 9 Linux
How to change hostname on Debian 9 Linux
Метод, описанный в этом руководстве, будет работать без перезапуска системы Linux.
Это руководство проведет вас через шаги, необходимые для изменения имени хоста в вашей системе Debian 9.
Имя хоста задается во время установки операционной системы Debian или, если вы запускаете виртуальную машину, оно динамически назначается экземпляру при запуске.
Прежде чем продолжить
Прежде чем продолжить это руководство, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo .
Показать текущее имя хоста
Чтобы просмотреть текущее имя хоста, введите следующую команду:
hostnamectl
Как вы можете видеть на изображении выше, текущее имя хоста установлено на host
.
Измените имя хоста
Имя хоста — это метка, которая идентифицирует машину в сети и должна быть уникальной в рамках сетевой инфраструктуры. В FQDN
качестве имени хоста системы рекомендуется использовать полное доменное имя ( ).
Следующие шаги описывают, как изменить имя хоста в Debian 9.
-
Измените имя хоста с помощью
hostnamectl
.В Debian 9 для изменения имени хоста системы и связанных настроек вы можете использовать
hostnamectl
команду.Например, чтобы изменить имя хоста системы на
host.example.com
, вы можете использовать следующую команду:
sudo hostnamectl set-hostname host.example.com
Командаhostnamectl
не производит вывода. В случае успеха возвращается 0, в противном случае — ненулевой код ошибки. -
Отредактируйте
/etc/hosts
файл.Откройте
/etc/hosts
файл и замените свое старое имя хоста новым.127.0.0.1 localhost 127.0.0.1 host.example.com # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters
Проверить изменение
Чтобы убедиться, что имя хоста было успешно изменено, еще раз используйте hostnamectl
команду:
hostnamectl
Static hostname: host.example.com
Icon name: computer-vm
Chassis: vm
Machine ID: 2cc2688b8138434a81dd7b3133e66b2e
Boot ID: e378a0971e9e415cb70e7e953a2362bc
Virtualization: qemu
Operating System: Debian GNU/Linux 9 (stretch)
Kernel: Linux 4.9.0-7-amd64
Architecture: x86-64
и вы должны увидеть ваше новое имя сервера, напечатанное на консоли.
Заключение
В этом руководстве мы показали вам, как легко изменить имя хоста сервера Debian без перезагрузки компьютера
Изменение hostname в Ubuntu / Debian
- 01.03.2011
-
Тэги:
hostname
- Просмотров: 27527
Добавить в
Обычно имя компьютера (
hostname
) указывается во время установки операционной системы. Однако далеко не редким является случай, когда ОС уже стоит, и по каким-либо причинам (переезд в другую сеть, изменение целевого назначения и т.д.) необходимо изменить имя компьютера.
На любой Linux системе имя компьютера можно изменить с помощью команды
hostname
(кто бы мог подумать?). Команда, вызванная без аргументов, выведет на экран текущее имя системы:
$ hostname
debianworld.ru
Чтобы изменить имя компьютера, достаточно использовать ту же команду, но с аргументом:
$ hostname debianworld.ru
Новое имя компьютера будет установлено сразу после выполнения и будет активно вплоть до очередной перезагрузки системы. Чтобы новое имя стало постоянным, необходимо сделать еще немного телодвижений.
Постоянное изменение hostname
Системы, основанные на Debian, при загрузке читают файл
/etc/hostname
, чтобы установить имя компьютера. После чего, прочитанное имя устанавливается во время работы init-скрипта
/etc/init.d/hostname
(или /etc/init.d/hostname.sh). Таким образом, чтобы узнать текущее имя машины, можно в дополнение к вышеуказанному способу, так же использовать следующий подход:
$ cat /etc/hostname
debianworld.ru
Чтобы задать постоянное имя компьютеру, необходимо отредактировать этот файл:
$ sudo vim /etc/hostname
После чего, необходимо перезапустить скрипт
/etc/init.d/hostname
(или /etc/init.d/hostname.sh):
$ /etc/init.d/hostname start
Либо просто перезагрузить машину. Кроме этого, необходимо проверить файл
/etc/hosts
на предмет упоминания в нем старого имени компьютера. Если оно там встречается (а оно там наверняка встречается), то его так же необходимо заменить на новое имя:
$ sudo sed -i 's/debianworld.ru/new-debianworld.ru/g' /etc/hosts
После этого необходимо переподнять сеть:
$ sudo /etc/init.d/networking restart
Либо, опять же, просто перезагрузить компьютер.
Introduction
A hostname is a label used to identify your system on a network. You can change your hostname in Debian 10 (Buster) by using the hostname
command or editing system files.
In this tutorial, we will cover different methods you can use to change the hostname in Debian 10.
Prerequisites
- A system running Debian 10 (Buster)
- An account with sudo level privileges
- Access to the terminal window/command line
Check the Current Hostname
Use the following command to check the current hostname:
hostname
The output displays the current hostname as plain text:
The first method involves using the hostname command to change the system name. The hostname
command is used to obtain and change the system’s hostname.
It is important to note that any changes made using the hostname
command are temporary. Unless you use the permanent method of changing the hostname outlined below, it will revert back to its original value after the next system reboot.
Follow the steps below to change the hostname:
1. Changing the hostname requires a user with sudo/root permissions. To switch to the root user, enter:
sudo -s
2. Use the hostname
command to set up a new hostname:
hostname [name]
Where:
[name]
: The new hostname you want to set up.
In this example, we are using phoenixNAP as the new hostname:
hostname phoenixNAP
3. Check if the new hostname is set up correctly:
hostname
Change the Hostname Permanently
There are two ways to permanently change your hostname in Debian 10:
- Using the
hostnamectl
command; - Editing the hostname file.
Regardless of the method you use, you also need to edit the system’s hosts file to match the changes in hostname.
To change the hostname permanently:
1. As the root user, open the hostname file:
sudo nano /etc/hostname
The first line of the hostname file lists the current hostname. Replace it with the new name you want to set up:
Press Ctrl+X to exit the file, then type Y and press Enter to save the changes.
Another method of setting a new permanent hostname is by using the hostnamectl
command:
hostnamectl set-hostname [name]
2. Open the hosts file:
sudo nano /etc/hosts
3. In the hosts file, find all the instances of the old hostname and replace them with the new one:
Press Ctrl+X, and then type Y and press Enter to exit the file and save the changes you made.
4. Restart the hostname.sh shell script for the changes to take effect:
invoke-rc.d hostname.sh start
Hostname Format Restrictions
By default, static hostnames follow the same restrictions as Internet domain names:
- They have a minimum length of 2 and maximum length of 63 characters.
- They support letters from a to z, numbers from 0 to 9, and hyphens (—).
- They can’t start or end with a hyphen, or have two or more consecutive hyphens.
Using the hostname
command with a special character produces the following error:
Pretty hostnames are high-level hostnames assigned to users or admins. These hostnames can contain special characters and are assigned using the hostnamectl
command with the --pretty
option:
hostnamectl set-hostname "[name]" --pretty
Note: When adding a pretty hostname, the name you want to assign must be surrounded by double quotation marks.
For example, if we want to set phoenixNAP’s test system as the pretty hostname:
hostnamectl set-hostname "phoenixNAP's test system" --pretty
Verify the Hostname Change
Verify the new hostname by running the following command:
hostnamectl
The output lists the new hostname in the Static hostname
section:
Conclusion
After reading this tutorial, you should be able to change the hostname in Debian 10 using commands or editing system files.