Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
32.7. Сценарий %post
Можно задать команды, которые будут выполнены сразу после завершения установки. Эта секция должна располагаться в конце файла кикстарта, после команд (см. Раздел 32.4, «Параметры кикстарта»), и начинаться с директивы
%post
. Порядок секций %pre
и %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. Примеры
Пример 32.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=<ключ_активации>
Пример 32.2. Запуск сценария с именем 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
.
Пример 32.3. Выполнение subscription-manager в секции %post
Red Hat Enterprise Linux 6 предоставляет программу subscription-manager для регистрации системы и подписки на обновления. subscription-manager можно добавить в секцию %post. Параметр
--autosubscribe
позволяет автоматически подписать систему после регистрации.
%post --log=/root/ks-post.log /usr/sbin/subscription-manager register --username пользователь_rhn --password пароль_rhn --autosubscribe