Где Ubuntu получает имя хоста по умолчанию?


2

Моя недавно установленная Ubuntu отображается в lele-ThinkPad-X230качестве имени хоста. Я скачал debian-installer и ubuntu-installer (ubiquity), чтобы увидеть код, но не нашел в этом ничего полезного. Это DHCP или какая-то аппаратная база?

lele-ThinkPad-X230, разделить тире: первое lele- это мое имя пользователя, а остальное - имя машины (от Lenovo). Итак, как установщик получает это, когда я не вводю имя хоста?


Отличный вопрос, меня это взбесило, когда я узнал кое-что о моей сети.
Ян

Ответы:


2

Установщики Debian и Ubuntu получают свое имя хоста через DHCP, так как большинство серверов DHCP предоставляют это вместе с арендой.

Например, при запуске программы установки Ubuntu GUI на моем ноутбуке с Windows предлагается имя хоста «Ed-PC», так как это было имя, которое я назначил под Windows, и когда я запросил аренду DHCP.

Согласно документации по установке Debian по адресу https://www.debian.org/releases/stable/amd64/ch03s03.html.en#idp52296784 :

Если сеть, к которой вы подключены, использует DHCP (протокол динамической конфигурации хоста) для настройки параметров сети, эта информация вам не нужна, поскольку сервер DHCP предоставит ее непосредственно вашему компьютеру в процессе установки.


Я не уверен, что вы подразумеваете под этим, именно здесь графический и альтернативный установщик Ubuntu получает свое имя хоста - при очистке всех договоров аренды или без использования DHCP установщик использует имя оборудования.
user117882

0

Вы можете установить системное имя хоста, отредактировав файл / etc / hostname. Вы также должны отредактировать / etc / hosts и обновить его, если он там появится.


Спасибо, я знаю это, но я просто хочу выяснить, как они (debian-installer или ubuntu installer) пытаются угадать это.
schemacs

0

hostnameПакет отвечает за создание /etc/init/hostname.confфайла, который в свою очередь устанавливает системное имя хоста. Этот пакет предустановлен на вашей ОС Ubuntu (по умолчанию).

$ dpkg -S /etc/init/hostname.conf
hostname: /etc/init/hostname.conf

$ cat /etc/init/hostname.conf
# This task is run on startup to set the system hostname from /etc/hostname,
# falling back to "localhost" if that file is not readable or is empty and
# no hostname has yet been set.

description     "set system hostname"

start on startup

task
exec hostname -b -F /etc/hostname

Из man hostname

 When  called  without  any  arguments, the program displays the current
   names.

 hostname will print the name of the system as returned by the  gethost‐
   name(2) function.

Как они делают это правильно с первого раза (установка)?
schemacs

Терминал держит по dpkgкоманде. этот файл conf показывает руководство?
diEcho

0

Когда я использовал Ubuntu, я думаю, что он использовал lele-laptop.

Там есть пакет под названием debian laptop-detect. Это тест да / нет, который затем используется для дополнительной настройки ноутбуков. Ubuntu использовал бы это для суффикса -laptop.

Справочная страница для ссылок на ноутбуки dmidecode. dmidecodeсообщает информацию об именах для машины, например «Thinkpad X230» (и, по-видимому, достаточно информации, чтобы решить, является ли это ноутбуком). Он не требует большой аппаратной базы данных, он просто зависит от поставщика, предоставляющего полезную информацию в прошивке (хех).

Помещение имени оборудования в имя хоста может быть логическим расширением.

Я думаю, что я видел, что какая-то версия Windows настраивала его аналогично, но только с использованием поставщика (например, Lenovo) ... хотя AFAIK это могла быть модификация вендора для ОС.

Возможен механизм DHCP - если то, что вы видите, точно соответствует предыдущему имени хоста ноутбука. Однако это кажется маловероятным, и Ubuntu пришлось бы реализовать это явно - я не понимаю, почему они это сделали.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.