32.7. Сценарий, выполняемый после установки

32.7. Сценарий, выполняемый после установки

Можно задать команды, которые будут выполнены сразу после завершения установки. Такая секция должна располагаться в конце файла кикстарта и начинаться с директивы %post. Секция %post обычно используется для установки дополнительных программ и настройки дополнительного сервера имен.

Примечание

Если вы используете статическую настройку IP, включая сервер имен, в секции %post можно обращаться к сети и разрешать IP-адреса. Если для определения сетевых параметров используется DHCP, файл /etc/resolv.conf не будет создан к моменту, когда программа установки выполняет команды %post. Вы можете обращаться к сети, но разрешение IP-адресов недоступно, поэтому если вы используете DHCP, в секции %post надо указывать IP-адреса.

Примечание

Сценарий %post выполняется в окружении chroot, поэтому выполнить некоторые задачи (такие как копирование сценариев или пакетов RPM с установочных носителей) не удастся.
--nochroot
Позволяет указать команды для выполнения вне окружения chroot.
В следующем примере файл /etc/resolv.conf будет скопирован в только что созданную файловую систему.
%post --nochroot 
cp /etc/resolv.conf /mnt/sysimage/etc/resolv.conf
--interpreter /usr/bin/python
Позволяет указать другой язык сценариев, например, Python. Замените /usr/bin/python предпочитаемым языком сценариев.
--log /путь/к/файлу
Сохраняет протокол выполнения постустановочного сценария в файл. Путь должен учитывать наличие --nochroot. Пример без --nochroot:
%post --log=/root/ks-post.log
с --nochroot:
%post --nochroot --log=/mnt/sysimage/root/ks-post.log

32.7.1. Примеры

Регистрация системы в Red Hat Network Satellite и сохранение событий в журнал:
%post --log=/root/ks-post.log
wget -O- http://proxy-or-sat.example.com/pub/bootstrap_script | /bin/bash
/usr/sbin/rhnreg_ks --activationkey=<ключ_активации>
Запуск сценария с именем runme, находящегося на общем NFS-ресурсе:
mkdir /mnt/temp 
mount -o nolock 10.10.0.2:/usr/new-machines /mnt/temp 
openvt -s -w -- /mnt/temp/runme 
umount /mnt/temp

Примечание

NFS-блокировка файлов при автоматизированной установке не поддерживается, поэтому при монтировании NFS-ресурса требуется указать -o nolock.