Я испытывал затруднения при развертывании CentOS7 из шаблона в этом, настройки не вступают в силу. Для установки VM OS - я выбрал RHEL7 как ОС, а не CentOS (ранее извлекавший тот урок с Oracle Linux 6.5 в моем предыдущем задании). Это должно работать правильно? Не точно.
Признак:
После развертывания нового VM из шаблона CentOS7 на первой начальной загрузке сервер придумывает корректное имя хоста, затем сценарии настройки выполняются, и после перезагрузок VM это имеет исходное шаблонное имя хоста снова, и в то время как/etc/sysconfig/network-scripts/ifcfg-ether имеет корректные настройки, ifcfg настройки для корректного nic (ifcfg-e*) не были реализованы.
Фон:
Я следовал инструкциям VMware для установки CentOS: http://partnerweb.vmware.com/GOSIG/CentOS_7.html
После нескольких дополнений пакета (включая сетевые инструменты, который требуется для vSphere настроек), я затем застегнул шаблон следующим образом с помощью мой "templatize сценарий" (кредит на http://lonesysadmin.net/2013/03/26/preparing-linux-template-vms/ для шагов):
#!/bin/bash
# clean yum cache
/usr/bin/yum clean all
#remove udev hardware rules
/bin/rm -f /etc/udev/rules.d/70*
#remove nic mac addr and uuid from ifcfg scripts
/bin/sed -i '/^\(HWADDR\|UUID\)=/d' /etc/sysconfig/network-scripts/ifcfg-eth0
#remove host keys (important step security wise. similar to system GUID in Windows)
/bin/rm /etc/ssh/ssh_host_*
#engage logrotate to shrink logspace used
/usr/sbin/logrotate -f /etc/logrotate.conf
#and lets shutdown
init 0
Поддерживаемые версии, где обходные решения больше не необходимы:
"Таблица поддержки настройки гостевой ОС VMware": http://partnerweb.vmware.com/programs/guestOS/guest-os-customization-matrix.pdf
ОБНОВЛЕНИЕ: Только что протестировано, это все еще работает в Centos 7.1 с использованием RHEL 6 в качестве опции гостевой ОС и команды ниже.
FYI redhat-release символически привязан к centos-release. Если вы редактируете redhat-release, вы фактически изменяете centos-release.
Чтобы следовать рекомендациям решения не изменять файлы версий для конкретного дистрибутива, сделайте следующее:
rm -f /etc/redhat-release && touch /etc/redhat-release && echo "Red Hat Enterprise Linux Server release 7.0 (Maipo)" > /etc/redhat-release
Solution: Я изменил /etc/redhat-release на vSphere признанное значение "Red Hat Enterprise Linux Server версии 7.0 (Maipo)", и теперь я могу внедрить ВМ из моего шаблона CentOS7 с отлично выполненными настройками. Убедитесь, что вы сначала прошиваете существующую сим-ссылку /etc/redhat-release. Смотрите ответ mjevange для элегантного решения с одним лайнером
Background: После создания и установки нового шаблона Oracle Linux 7 (OEL7), используя тот же метод, что и выше для CentOS 7, и имея его в своем распоряжении, я быстро понял, в чем проблема. Проверьте:
Default /etc/redhat-release file in Centos7:
cat /etc/redhat-release
CentOS Linux release 7.0.1406 (Core)
Default /etc/redhat-release file in RHEL7/OEL7:
cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.0 (Maipo)
(Обратите внимание, что файлы версий для CentOS и Oracle Linux являются centos-release и oracle-release соответственно. ЗАПРЕЩАЕТСЯ трогать эти файлы, так как они являются файлами версий, специфичными для дистрибутивов).