preseed.cfg игнорирование установки имени хоста

Вероятно, вызванный Вашей локалью, но если Вы делаете:

LC_COLLATE=C ls -F --color=auto -l

Точечные файлы отсортированы правильно

13
07.02.2017, 01:13
4 ответа

Не решение, а обходное решение

Я также столкнулся с подобной проблемой, и я работал вокруг этого путем установки имени хоста после установки через следующие строки, добавленные в конце моего pressed.cfg:

d-i pressed/late_command string\
    in-target /bin/bash -c 'echo desired_name > /etc/hostname'

in-target необходимо так, чтобы / относится к целевой файловой системе (который в конечном счете станет Вашей корневой файловой системой), который обычно появляется как /target во время установки.

10
27.01.2020, 19:52
  • 1
    я также использовал это, но с небольшой модификацией так, чтобы имя хоста было автоматически установлено от поиска DNS: d-i pressed/late_command string in-target /bin/bash -c 'echo $(dig +short -x $(facter ipaddress)) | sed -e \'s/\.$//\' > /etc/hostname'. Это использует "facter" от puppetlabs для получения IP-адреса, но Вы могли сделать что-то подобное использование ip addr и sed. –  David Gardner 27.05.2015, 16:58

Я нашел, что эта проблема ушла, когда я удалил priority=critical от аргументов я был передающим - в к ядру в сетевой командной строке установки (с помощью pxelinux.cfg записей каталога).

Я предполагаю, что это означает, что вопросу, который спрашивает имя хоста, отдали приоритет, который ниже, чем 'очень важный', и так заполняется с ответом по умолчанию.

При внесении этого изменения можно найти, что необходимо предварительно отобрать некоторые другие более-низкие-,-чем-очень-важный ответы для других вопросов позже в процессе установки...

4
27.01.2020, 19:52

Если вы выполняете сетевую загрузку (с помощью PXE и друзей), то имя хоста устанавливается перед получением файла ответов, поэтому имя хоста должно быть установлено в командной строке ядра следующим образом :

hostname=myhostname domain=mydomain

Из введения в приложение B (по автоматизации) руководства debian-installer :

Важным различием между методами автоматизации является момент загрузки и обработки файла ответов. Для initrd автоматизация выполняется в самом начале установки, ещё до того, как будет задан первый вопрос. Для файловой автоматизации это происходит после загрузки образа CD или CD. Для сетевой установки это происходит только после того, как сеть будет настроена.

9
27.01.2020, 19:52

Это ограничение программы установки debian. К тому времени, когда вы загрузите свой файл конфигурации с предварительной загрузкой из сети, netcfg уже выполнил свою работу и ушел, поэтому он не будет обновлять значения.

несколько официальный кладж должен использоваться в вашем preseed.cfg строке:

d-i preseed/run string http://example.net/d-i/jessie/preseed.sh

и в этом preseed.sh затем укажите:

#!/bin/sh
kill-all-dhcp; netcfg

Таким образом, когда сеть установлена ​​и preseed.cfg получен, preseed.sh также будет загружен и запущен, поэтому он перезапустит netcfg , который затем прочитает все предварительно заданные значения для netcfg / * и настройте их правильно ( / etc / hostsname , / etc / hosts , / etc / network / interfaces , если вы устанавливаете статическую IP-конфигурацию через preseed и т. д.)

3
27.01.2020, 19:52

Теги

Похожие вопросы