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

CentOS: как установить имя хоста на основе внешнего файла в сценарии кикстарта?

Я устанавливаю CentOS 7 с помощью ks=http://10.0.0.100:8080/anaconda-ks.cfg вариант, и я обслуживаю файл статической конфигурации, запустив простой веб-сервер: python -m SimpleHTTPServer 8080.

В моем anaconda-ks.cfg В настоящее время я устанавливаю имя хоста следующим образом:

network  --hostname=centdev

Однако я хочу прочитать текстовый файл (желательно JSON с использованием Python) из того же места, что и мой anaconda-ks.cfg и сверьте текущий идентификатор оборудования со словарем, чтобы выяснить, какое имя хоста использовать.

  1. Можно как-нибудь избежать жесткого кодирования http://10.0.0.100:8080 в anaconda-ks.cfg и получить это местоположение, например, переменная окружения?

  2. Могу ли я просто встроить свой скрипт Python в anaconda-ks.cfg используя %pre как ниже?


%pre
#!/bin/python
print 'Read JSON file here...'
%end

Вот что я сделал ... Я добавил в свой anaconda-ks.cfg сценарий:

# Pre python
%pre --interpreter=/usr/bin/python
print 'python code goes here to define "myhostname"'
...
hfile = open("/tmp/hostname.ks", "w")
hfile.write("network  --hostname=" + myhostname)
hfile.close()
%end

# Network information
network  --bootproto=dhcp --device=eth0 --ipv6=auto --activate
%include "/tmp/hostname.ks"