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

Попросите файл кикстарта запустить независимый файл сценария из раздела% post

Если бы я хотел запустить сценарий оболочки, который был отдельным файлом из моего кикстарта RHEL7 %post в разделе, куда мне нужно поместить этот дополнительный файл и какой путь я бы использовал для его запуска? Например, если мой kickstart.cfg файл находится в моем isolinux каталог, поместил бы я дополнительный сценарий оболочки в файл isolinux, а затем запустил бы его, поместив ./shell-script в моем %post раздел? Я предполагаю, что часть моего замешательства связана с тем, что я не понимаю, как ISO распаковывает все, чтобы стать системой во время установки.

Я хочу сделать это для большей модульности в моем ISO, поскольку сценарий оболочки, который я хочу запустить, состоит из нескольких тысяч строк, которые, как мне кажется, сворачивают файл кикстарта, особенно если я хочу запустить несколько сценариев после установки.

Для справки вот мой файл кикстарта:

lang en_US
keyboard us
timezone <location> --isUtc
rootpw <password> --iscrypted
#platform x86, AMD64, or Intel EM64T
reboot
text
cdrom
bootloader --location=mbr --append="rhgb quiet crashkernel=auto"
zerombr
clearpart --all --initlabel
autopart
auth --passalgo=sha512 --useshadow
selinux --enforcing
firewall --enabled --ssh
skipx
firstboot --disable
%pre
%end
%post
<RUN SHELL SCRIPT HERE>
%end
%packages
%end

Я положил сценарий в свой isolinux каталог и добавил следующее в %post раздел моего файла кикстарта:

%post --nochroot --logfile=/mnt/sysimage/root/ks-post.log
cp /run/install/repo/script.sh /mnt/sysimage/root/
sh /mnt/sysimage/root/script.sh
%end

Обратите внимание, что для того, чтобы скопировать файл в /root каталог только что установленной системы вам понадобится --nochroot флаг. Это вызвало у меня некоторые проблемы, поскольку в скрипте, который я пытаюсь запустить, есть пути, начинающиеся с / как базовый каталог. Я все еще придумал, как это исправить, но открыл новый тикет об этом.