Откуда система определяет временное имя хоста?

В RHEL 7.2 система запускает и определяет имя хоста хоста. Если /etc/hostname недоступно (т. Е. Удалено) и /etc/machine-info недоступно, и ядро ​​не настроено с этой информацией (то есть sysctl 's kernel.hostname ), systemd назначает «переходное» имя хоста к хозяину. Вопрос в том, откуда он это определяет?

Хост был изначально назван таким образом. Затем я клонировал хост (это виртуальная машина) и уничтожил все ссылки на это имя. Но тогда в процессе загрузки, очень рано, он устанавливается таким образом.

Если я rescuemode в rescuemode я вижу, что он устанавливает имя хоста очень рано:

 [ 0.456076] systemd[1]: systemd 208 running in system mode. (+PAM +LIBWRAP +AUDIT +SELINUX +IMA +SYSVINIT +LIBCRYPTSETUP +GCRYPT +AC L +XZ) [ 0.456664] systemd[1]: Detected virtualization 'kvm'. [ 0.456955] systemd[1]: Running in initial RAM disk. [ 0.458496] systemd[1]: Set hostname to <badhostname.example.com>. [ 0.475394] systemd[1]: Expecting device dev-mapper-vgroot\x2dlvroot.device... 

В командной строке оно задано как «временное» имя хоста:

 # hostnamectl status Transient hostname: badhostname.mydomain.com ... 

Возможно, это не systemd : я даже получаю эту проблему при использовании init=/bin/bash , но systemd запускается внутри образа initrd.

  • Он не установлен в grub или что-то еще.
  • Он не устанавливается DHCP, так как при загрузке сеть отключается.
  • Это не в файловой системе:

     # find / \( -path /sys -prune -o -path /proc -prune -o -path /run -prune \) -o -type f -exec grep -ilrF "${HOSTNAME}" {} + <some .git files> <history files of non-root user> 

Так или иначе, ядро ​​или systemd определяет старое имя хоста и использует его в качестве переходного процесса, и я совершенно не понимаю, как это сделать! , Я find ... -exec grep без каких-либо результатов, кроме /var/log/dmesg . Я говорю вам, systemd преследовал моего хозяина!

РЕДАКТИРОВАТЬ 2: Единственный раз, когда я этого не понимаю, я загружаюсь в предоставленные спасательные initramfs. По-видимому, созданные initramfs содержат грязные секреты!

One Solution collect form web for “Откуда система определяет временное имя хоста?”

Благодаря знаниям Дон Криссти и процессу устранения, делается вывод о том, что виновником является образ initramfs. Как-то dracut когда он создает изображение, решает включить кешированную версию имени хоста (!?!).

Перестройка initrd / initram fs рассматривается здесь, но вкратце (поскольку вы, дорогой читатель, возможно, не имеете доступа), do

 dracut -f -v 
  • Перемещение / dev / shm / to / run / shm в Arch?
  • Как отключить службу без использования 'systemctl disable'
  • Ubuntu 15.10 - Невозможно отключить демон с помощью Systemd
  • Как отключить бесполезные записи журнала аудита в dmesg
  • Завершение работы, приостановка требует проверки подлинности, когда запланировано в
  • Arch Linux dhcpd не запускается при загрузке - не удается найти декларацию подсети
  • Как реализовать функцию logwatch над журналом systemd?
  • Изменение параметров sysctl для всех интерфейсов
  • Не удается загрузить систему с версией systemd выше 208
  • Предоставление переменных среды для последующих процессов началось в скрипте init.d
  • SystemD: сконфигурировать файл блока, чтобы экран входа в систему не показывался до тех пор, пока служба не выйдет и не перезагрузится
  • Linux и Unix - лучшая ОС в мире.