Иногда, при загрузке LINUX устройства (например тонкого клиента), нужно установить в качестве хостового имени MAC-адресс ethernet карты. Для этого, нужно проделать следующие действия:
1) Создадим каталог /etc/systemd/scripts:

1
sudo mkdir /etc/systemd/scripts

2) Создадим файл /etc/systemd/scripts/newhostname:

1
sudo nano /etc/systemd/scripts/newhostname

3) Запишем в файл следующие значения:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/bin/env bash
# Description: Generate and set a random hostname on Linux
# Requires: sed, awk
# Usage: set-random-hostname
 
__set_random_hostname() {
  x=$(ifconfig eth0 | grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}')
  b=${x//:/}
 
  local new_hostname=prefix-$b
 
  # set new hostname
  hostnamectl set-hostname "$new_hostname"
  # set new hostname in /etc/hosts
  sed -i "2 s/^.*$/127.0.1.1       $new_hostname/g" /etc/hosts
}
 
__set_random_hostname

4) Делаем наш файл исполняемым:

1
sudo chmod +x /etc/systemd/scripts/newhostname

5) Следующим шагом нужно создать службу, которая будет запускать наш скрипт.

1
sudo nano /etc/systemd/system/newhostname.service

6) Запишем в файл следующие значения: