Наша группа лаборатории просто купила приблизительно дюжину новых рабочих станций. Они - Лощины, поэтому возможно, удобно они сообщают о своей метке с dmidecode -s system-serial-number
. Мы думаем об использовании Clonezilla для легкого развертывания изображений через них всех, но каждый из них должен быть установлен с определенным именем хоста и статическим IP-адресом. Так, объединение этих двух кажется простым использованием поиска что-то как:
declare -A tags
tags=(["HKX321K"]="ws1name 10.32.54.10"
["HBZ321G"]="ws2name 10.32.54.11"
)
tag=$(sudo dmidecode -s system-serial-number)
read -a nameip <<< "${tags[$tag]}"
wsname=${nameip[0]}
wsip=${nameip[1]}
sed
и т.п. мог затем сделать a /etc/hosts
, hostname
, и network/interfaces
файлы из некоторых шаблонов. Однако изменяет те достаточные файлы, и как я выполняю сценарий "персонализации" очень рано в начальной загрузке, прежде чем Ubuntu запустит установку материала?
Мой план плохо по другой непредвиденной причине; чего могли бы ждать скрытые ловушки?
Да, изменение тех файлов достаточно. Можно использовать эти hostnamectl
команда для изменения имени узла легко. Эти изменения должны быть внесены только однажды. Таким образом, можно внести изменения через rc.local
или что-то подобное для выполнения однажды, удалите себя из любого вызванного оно, чтобы работать при начальной загрузке и затем перезагрузить ту прежде, чем продолжить делать другие вещи.
, Если перезагрузка является слишком большой дополнительной работой, можно попытаться планировать Новомодное задание. Новомодное задание, которое имеет start on startup
условие, выполнит это как можно раньше. Еще лучше задание с start on local-filesystems
будет работать достаточно рано, чтобы быть уверенным, что необходимые файловые системы смонтированы.