При установке операционной системы Linux на компьютер, автоматически генерируется уникальный идентификатор и сохраняется в файл /etc/machine-id. Это аналог идентификатора безопасности компьютера (machine SID) в Windows.
Идентификаторы machine-id
хостов Linux должны быть уникальны, т.к. к этим значениям может привязываться различное ПО. Обычно с проблемой одинаковых machine-id сталкиваются при клонировании виртуальной машины с Linux. При запуске клонированной ВМ, она получит от DHCP тот же самый IP адрес, что и исходная машина (даже если MAC адрес был изменен). Большинство популярных DHCP серверов выдают IP адреса в соответствии с dhcp clientId
, который генерируется службой systemd-networkd на основе machine-id.
Чтобы узнать текущий ID компьютера inux, выполите команду:
$ cat /etc/machine-id
Или выполните команду:
$ hostnamectl | grep "Machine ID"
Чтобы сбросить старый machine-id и сгенерировать новый, выполните следующие шаги:
Измените права доступа к файлу /etc/machine-id:
$ sudo chmod 644 /etc/machine-id
Удалите старый ID:
$ sudo rm /etc/machine-id
Сгенерируйте новый идентификатор:
$ dbus-uuidgen --ensure
$ sudo systemd-machine-id-setup
Initializing machine ID from D-Bus machine ID.
Восстановите исходные разрешения на файл:
$ sudo chmod 444 /etc/machine-id
Проверьте новое значение идентификатора компьютера:
$ hostnamectl | grep "Machine ID"