Имя компьютера или по-другому, имя хоста устанавливается во время установки системы. Оно используется для идентификации компьютера в локальной сети, например, передается службой NetBIOS как имя сервера Samba, а также вы будете постоянно видеть его в терминале перед приглашением ввода команды.
Если вы задали не такое имя как хотите во время установки, то изменить имя компьютера Ubuntu не так уж сложно, но графических инструментов для этого в системе придумано не было, поэтому придется делать все через терминал.
Требования к имени компьютера
Вы можете использовать практически любое имя компьютера, но для него есть некоторые ограничения. Не желательно использовать два одинаковых имени компьютера в одной локальной сети, иначе могут возникнуть проблемы с различными интернет-сервисами и самая очевидная — вы не сможете понять где какой компьютер.
Второе ограничение — имя компьютера может содержать только буквы английского алфавита от a до z, цифры от 0 до 9, а также символы дефиса и точки. Начинаться и заканчиваться имя должно только буквой или цифрой, а не символом подчеркивания. Имя хоста регистронезависимо, поэтому COMPUTER и computer будут означать одно и то же. По длине стоит ограничение от 2 до 69 символов, но этого вполне достаточно.
Как изменить имя компьютера
Посмотреть текущее имя компьютера можно выполнив команду hostnamectl без параметров:
hostnamectl
Изменить имя хоста Ubuntu можно несколькими способами. Самый простой способ установить имя компьютера, которое сохранится только до перезагрузки можно использовать команду hostname, которой в параметре нужно передать новое имя. Например:
sudo hostname losst-pc
Но после перезагрузки все вернется как было раньше. Чтобы сделать изменения постоянными нужно изменить содержимое двух файлов. /etc/hostname и /etc/hosts:
sudo vi /etc/hostname
Удалите старое имя из этого файла и пропишите новое. Затем сохраните изменения.
В современных версиях Ubuntu вы можете использовать команду hostnamectl, в отличие от первого варианта изменения сохранятся после перезагрузки:
sudo hostnamectl set-hostname новое_имя
Затем откройте второй файл:
sudo vi /etc/hosts
Здесь немного сложнее, найдите строку:
127.0.0.1 старое_имя
И замените старое имя на новое, после этого необходимо перезагрузить компьютер. Если вы не хотите перезагружать систему, то вы можете просто перезагрузить сервис управления входом пользователей:
systemctl restart systemd-logind.service
Теперь все должно работать правильно. Но это не единственный способ сменить имя хоста в Ubuntu.
Не меняется имя компьютера
Если вы поменяли имя компьютера, а после перезагрузки восстанавливается все как было, например, какое-то там dhcpcd0-pc, то, скорее всего, виноват NetworkManager. Здесь решение либо удалить эту программу, либо изменить имя хоста Ubuntu с помощью NetworkManager. Для этого выполните:
sudo vi /etc/NetworkManager/NetworkManager.conf
И добавьте в файл такие строки:
[keyfile]
hostname=имя_компьютера
Теперь после перезагрузки NetworkManager поменяет имя хоста Ubuntu на правильное и больше проблем с этим не будет.
Выводы
Вот и все, теперь вы знаете как сменить имя компьютера Ubuntu. Для этого есть вполне достаточно способов, чтобы вы могли выбрать именно то, что нужно. Если у вас остались вопросы, спрашивайте в комментариях!
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .
Об авторе
Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.
Имя устройства помогает идентифицировать его внутри сети. Называя устройство, можно вложить в его имя какую-то смысловую нагрузку, что позволит лучше запомнить его имя. Или же по имени опознать его функционал. Это относится как к компьютерам пользователей, принтерам, так и к серверам и прочим устройствам. В процессе установки Ubuntu Server 20.04, как и любой другой версии этой ОС, вам предлагается дать ему имя. Но что делать если вы хотите изменить имя уже после установки? В Ubuntu Server 20.04 — изменение имени сервера происходит следующим образом:
-
Узнаем текущую информацию о сервере
hostnamectl
Эта команда покажет нам текущую информацию о системе. Так же посмотреть под каким пользователем вы авторизованы в системе и на каком сервере, можно посмотреть прямо в командной строке.
Как видно, наш сервер называется ag-raw-server-32gb.
-
Изменяем текущее имя сервера
С помощью этой же утилиты, мы изменим постоянное имя сервера
sudo hostnamectl set-hostname adminguide-new-name-server
Как теперь можно увидеть, Static hostname изменился, в то время как в командной строке у нас всё еще старое имя сервера. После перезагрузки новое имя полностью вступит в силу. НО есть несколько подводных камней
-
Настройка в файле cloud.cfg
Если у вас используется cloud.cfg, то после перезагрузки, название сервера может вернуться к тому, что было указано при установке. Поэтому вам необходимо отключить это в файле /etc/cloud/cloud.cfg
sudo nano /etc/cloud/cloud.cfg
Открыв файл для редактирования, нужно найти строку preserve_hostname, и значение false, заменить на true. Тогда после перезагрузки, у вас сохранится новое имя сервера.
-
Запись в файле hosts
В определенных конфигурациях, например в случае установки на сервер, роли Active Directory Domain Controller, для корректной работы, критично чтобы сервер резолвился по своему имени. Поэтому, если у нас например:
IP адрес сервера: 192.168.1.100
домен где находится сервер: adminguide.lan
Имя сервера: adminguide-new-name-server
То в файле hosts, нам надо добавить строку:
192.168.1.100 adminguide-new-name-server.adminguide.lan adminguide-new-name-server
После сохранения изменений, по команде ping adminguide-new-name-server сервер должен начать пинговать свой адрес 192.168.1.100
Чтобы открыть файл hosts на редактирование, необходимо использовать команду
sudo nano /etc/hosts
Related
Имя хоста задается во время установки операционной системы или динамически назначается виртуальной машине при ее создании.
В этом руководстве объясняется, как установить или изменить имя хоста в Ubuntu 20.04 без перезагрузки системы.
Общие сведения об именах хостов
Имя хоста — это метка, которая идентифицирует устройство в сети. У вас не должно быть двух или более машин с одинаковым именем хоста в одной сети.
В Ubuntu вы можете редактировать системное имя хоста и соответствующие настройки с помощью команды hostnamectl
. Этот инструмент распознает три разных класса имен хостов:
static
— традиционное имя хоста. Он хранится в/etc/hostname
и может быть установлен пользователем.-
pretty
— описательное имя хоста UTF8 в свободной форме, используемое для представления пользователю. Например,Linuxize's laptop
. -
transient
— динамическое имя хоста, поддерживаемое ядром. Серверы DHCP или mDNS могут изменять временное имя хоста во время выполнения. По умолчанию это то же самое, что иstatic
имя хоста.
Рекомендуется использовать полное доменное имя ( FQDN
), например host.example.com
как для static
и для transient
имен.
Только root или пользователи с привилегиями sudo могут изменять системное имя хоста.
Отображение текущего имени хоста
Чтобы просмотреть текущее имя хоста, вызовите команду hostnamectl
без аргументов:
hostnamectl
В этом примере текущее имя хоста установлено на ubuntu2004.localdomain
.
Изменение имени хоста системы
Изменение имени хоста системы — простой процесс. Синтаксис следующий:
sudo hostnamectl set-hostname host.example.com
sudo hostnamectl set-hostname "Your Pretty HostName" --pretty
sudo hostnamectl set-hostname host.example.com --static
sudo hostnamectl set-hostname host.example.com --transient
Например, чтобы изменить статическое имя хоста системы на neptune.linuxize.com
, вы должны использовать следующую команду:
sudo hostnamectl set-hostname neptune.linuxize.com
При желании вы также можете установить красивое имя хоста:
sudo hostnamectl set-hostname "Linuxize's laptop" --pretty
hostnamectl
не производит вывода. В случае успеха возвращается 0, в противном случае — ненулевой код ошибки.
Статическое имя хоста хранится в /etc/hostname
, а красивое имя хоста хранится в /etc/machine-info
.
Вы не должны использовать одно и то же имя хоста на двух разных машинах в одной сети.
В большинстве систем имя хоста отображается на 127.0.0.1
в /etc/hosts
. Откройте файл и измените старое имя хоста на новое.
/etc/hosts
127.0.0.1 localhost
127.0.0.1 neptune.linuxize.com
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Если вы используете Ubuntu в облачном экземпляре и установлен пакет cloud-init
, вам также необходимо отредактировать файл /etc/cloud/cloud.cfg
. Этот пакет обычно устанавливается по умолчанию в образах, предоставляемых поставщиками облачных услуг, и используется для обработки инициализации экземпляров облака.
Если файл существует в вашей системе, откройте его:
sudo vim /etc/cloud/cloud.cfg
Найдите preserve_hostname
и измените значение с false
на true
:
/etc/cloud/cloud.cfg
# This will cause the set+update hostname module to not operate (if true)
preserve_hostname: true
Сохраните файл и закройте редактор.
Проверить изменение
Чтобы убедиться, что имя хоста было полностью изменено, введите команду hostnamectl
:
hostnamectl
Ваше новое имя хоста будет напечатано на терминале:
Static hostname: neptune.linuxize.com
Pretty hostname: Linuxize's desktop
Icon name: computer-vm
Chassis: vm
Machine ID: a04e3543f3da460294926b7c41e87a0d
Boot ID: aa31b274703440dfb622ef2bd84c52cb
Virtualization: oracle
Operating System: Ubuntu 20.04 LTS
Kernel: Linux 5.4.0-26-generic
Architecture: x86-64
Выводы
Мы показали вам, как легко изменить имя хоста при установке Ubuntu 20.04 без перезагрузки компьютера.
Существует ряд причин, по которым вам может потребоваться изменить имя хоста. Чаще всего это когда имя хоста устанавливается автоматически при создании экземпляра.
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.
Имя хоста устанавливается во время установки операционной системы Ubuntu или, если вы запускаете виртуальную машину, оно динамически назначается экземпляру при запуске.
Метод, описанный в этом руководстве, будет работать без перезапуска системы.
Хотя это руководство написано для Ubuntu 18.04, те же инструкции применимы для Ubuntu 16.04 и любого дистрибутива на основе Ubuntu, включая Linux Mint и Elementary OS.
Введение
Прежде чем продолжить это руководство, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo .
Имя хоста — это метка, которая идентифицирует машину в сети. Вы не должны использовать одно и то же имя хоста на двух разных машинах в одной сети.
Показать текущее имя хоста
Чтобы просмотреть текущее имя хоста, введите следующую команду:
hostnamectl
Как вы можете видеть на изображении выше, текущее имя хоста установлено на ubuntu1804.localdomain
.
Изменить имя хоста
Следующие шаги описывают, как изменить имя хоста в Ubuntu 18.04.
1. Измените имя хоста с помощью hostnamectl
В Ubuntu 18.04 мы можем изменить имя хоста системы и соответствующие настройки с помощью команды hostnamectl
.
Например, чтобы изменить статическое имя хоста системы на linuxize
, вы должны использовать следующую команду:
sudo hostnamectl set-hostname linuxize
Команда hostnamectl
не производит вывода. В случае успеха возвращается 0, в противном случае — ненулевой код ошибки.
2. Отредактируйте /etc/hosts
файл
Откройте /etc/hosts
файл и измените старое имя хоста на новое.
/ etc / hosts
127.0.0.1 localhost
127.0.0.1 linuxize
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
3. Отредактируйте cloud.cfg
файл
Если cloud-init
пакет установлен, вам также необходимо отредактировать cloud.cfg
файл. Этот пакет обычно устанавливается по умолчанию в образах, предоставляемых поставщиками облачных услуг, такими как AWS, и используется для обработки инициализации экземпляров облака.
Чтобы проверить, установлен ли пакет, выполните следующую ls
команду :
ls -l /etc/cloud/cloud.cfg
Если вы видите следующий вывод, это означает, что пакет не установлен и никаких дальнейших действий не требуется.
ls: cannot access '/etc/cloud/cloud.cfg': No such file or directory
Если пакет установлен, вывод будет выглядеть следующим образом:
-rw-r--r-- 1 root root 3169 Apr 27 09:30 /etc/cloud/cloud.cfg
В этом случае вам нужно будет открыть /etc/cloud/cloud.cfg
файл:
sudo vim /etc/cloud/cloud.cfg
Найдите preserve_hostname
и измените значение с false
на true
:
# This will cause the set+update hostname module to not operate (if true)
preserve_hostname: true
Сохраните файл и закройте редактор.
Проверить изменение
Чтобы убедиться, что имя хоста было успешно изменено, еще раз используйте hostnamectl
команду:
hostnamectl
Static hostname: linuxize
Icon name: computer-vm
Chassis: vm
Machine ID: 6f17445f53074505a008c9abd8ed64a5
Boot ID: 1c769ab73b924a188c5caeaf8c72e0f4
Virtualization: kvm
Operating System: Ubuntu 18.04 LTS
Kernel: Linux 4.15.0-22-generic
Architecture: x86-64
Вы должны увидеть ваше новое имя сервера, напечатанное на консоли.
Вывод
В этом руководстве мы показали вам, как легко изменить имя хоста сервера Ubuntu без перезагрузки компьютера.
Introduction
A hostname is a user-generated custom name which identifies a computer system in a network. In Ubuntu 20.04, users assign a hostname to the machine during OS setup.
You may decide to change your computer’s hostname for several reasons. For example, no two computers on a network can have the same hostname and, if you find yourself in this situation, you will have to change the hostname to avoid a network conflict.
In this tutorial, you will learn how to change a hostname on Ubuntu 20.04 using the Linux command line or GUI.
Prerequisites
- Ubuntu 20.04 installed
- An account with sudo privileges
- Access to the command line for non-GUI methods
How to Check Current Hostname on Ubuntu 20.04
To check the current hostname of your Ubuntu system, use one of two available commands.
- The
hostname
command displays only the hostname itself.
- The other command,
hostnamectl
, displays additional information about your computer system.
The Static hostname
line displays your machine’s hostname.
Note: Valid hostnames are between 2 and 64 characters in length. They can contain only letters, numbers, periods, and hyphens, but must begin and end with letters and numbers only.
Temporarily Change Hostname on Ubuntu 20.04
Use the hostname command to make a temporary change to your computer’s hostname.
In the terminal, type the following, replacing new-hostname
with the name you choose:
sudo hostname new-hostname
If successful, this step will not provide any output. To confirm the result of the process, check the current system hostname:
Change Hostname on Ubuntu 20.04 (No Reboot Required)
If you wish to permanently change the hostname without rebooting your computer, use the hostnamectl
command.
Step 1: Use set-hostname to Change the Hostname
Type the following command:
hostnamectl set-hostname new-hostname
Use your own hostname choice instead of new-hostname
.
Step 2: Use hostnamectl to Confirm the Change
Just like the hostname
command, if successful, hostnamectl set-hostname
does not produce any output. Therefore, use hostnamectl
to check the result.
Step 3: Change the Pretty Hostname (Optional)
A “pretty” hostname is the hostname presented to the user, not to another computer on a network. A computer system identifies another computer only by its static hostname.
Note: The pretty hostname does not have the naming limitations of its static counterpart – any UTF-8 value is permitted.
To change a machine’s “pretty” hostname, use the same hostnamectl
command with the --pretty
option:
hostnamectl set-hostname "new-hostname" --pretty
Replace new-hostname
with your own UTF-8 value.
After checking the result with hostnamectl
, you will notice an additional line in the output, listing the computer’s “pretty” hostname.
Note: The “pretty” hostname is stored in /etc/machine-info. Updating this file is another way to perform this optional step.
Change Hostname on Ubuntu 20.04 – Alternative Method (Reboot Required)
Another way to permanently change the hostname is by editing two configuration files:
- /etc/hostname
- /etc/hosts
The changes take effect immediately after system reboot.
Step 1: Open /etc/hostname and Change the Hostname
Edit the file with a text editor of your choice. In this example, we will be using the Vim editor:
sudo vi /etc/hostname
The /etc/hostname file contains only the current hostname. Replace it with your new choice.
Save the file and exit.
Step 2: Open /etc/hosts and Change the Hostname
Now edit the /etc/hosts file in the same way.
sudo vi /etc/hosts
The file /etc/hosts maps hostnames to IP addresses. Look for the hostname you wish to change and simply replace it with your new choice.
Save the edits and exit.
Step 3: Reboot the System
Reboot your computer to apply the changes:
sudo systemctl reboot
Note: If you use the Cloud-Init package (cloud-init
) to run a cloud instance of Ubuntu, you need to perform another step before rebooting. Go to /etc/cloud/cloud.cfg file and make sure the line preserve_hostname
is set to TRUE
.
The Ubuntu GUI also provides a way to edit the system hostname:
1. First, navigate to Settings > About.
2. Now, locate the Device Name field.
3 Clicking the Device Name field opens the Rename Device dialogue box.
4. In the Rename Device dialogue box, replace the current hostname with a new one and confirm your choice by clicking the Rename button. This action permanently changes the hostname.
Conclusion
This article presented three methods in which you can change the hostname on your Ubuntu 20.04 machine, using the command line or GUI. All the methods are simple and straightforward, so you can choose whichever one fits your use case best.