Назад | Перейти на главную страницу

Можно ли запустить system-config-network во время кикстарта% post?

В настоящее время я пытаюсь найти умный способ установить параметры IP, имени хоста, шлюза и DNS во время кикстарта (с вводом пользователя во время кикстарта). Выполнение этого с помощью firstboot после установки недопустимо, поэтому это необходимо сделать во время% post.

Я пытался запустить system-config-network инструмент во время публикации в tty6:

#!/bin/sh  
chvt 6  
exec < /dev/tty6 > /dev/tty6  
/mnt/sysimage/usr/bin/system-config-network-tui  

Это не работает, так как по какой-то причине я не могу уловить ввод пользователя.

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

Кто-то сделал что-нибудь подобное или подобное и заставил это работать?

Спасибо

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

Начиная с CentOS 5, есть недокументированная опция, позволяющая запрашивать конфигурацию сети во время установки. В операторе сети поместите ключевое слово запроса в конфигурацию сети --bootproto =, как показано ниже:

network --device=eth0 --bootproto=query

CentOS Wiki: советы и рекомендации для анаконды и кикстарта

Это ж глупо. Я использую cobbler, у которого уже есть поддержка настройки имени хоста, IP, подсети и DNS. Вы должны добавить его как систему, например:

добавление системы cobbler --name = [...] --profile = [...] - ip = 10.1.1.2 --gateway = 10.1.1.1 --hostname = yourhostname.exmaple.org --name-servers = "10.1.1.1" --static = true --mac = 00: 50: 56: af: 56: 22

Затем у Cobbler есть сниппет, который применяет это для вас, под названием post_install_network_config. Дайте мне знать, если у кого-то возникнут вопросы.

Я загружаю сценарий с wget и добавьте скрипт в /etc/rc.d/rc.local. Внутри скрипта я комментирую запись в rc.local, чтобы она не запускалась при дальнейшей загрузке. В этом сценарии я делаю все, что у меня было %post.

Редактировать:
В %post раздел скрипта KickStart у меня есть:

wget -O /etc/first-boot.sh http://192.168.1.10/ks/first-boot.sh  
echo ". /etc/first-boot.sh" >>/etc/rc.d/rc.local

Таким образом, мне не нужно подключаться к машине, которую я устанавливаю. Только на сервере KickStart внесу изменения. На сервере KickStart у меня есть apache и 192.168.1.10 - это IP-адрес сервера KickStart.

Редактировать:
Вы пробовали использовать open?

chroot /mnt/sysimage
open /usr/bin/system-config-network

Похоже, вы пытаетесь установить для них статические значения. Если возможно, используйте DHCP для установки этих элементов.

Вы упомянули о попытке взаимодействия с пользователем во время кикстарта. Я не думаю, что это возможно, хотя могу ошибаться. Я знаю, что взаимодействие с пользователем во время установки RPM невозможно; это сделало бы невозможным создание сценария. То же самое могло (а если бы я был главным архитектором) было бы невозможным по тем же причинам. Вместо этого поместите эти значения на гибкий диск.