У меня проблема, когда я пытаюсь сохранить ввод пользователя в переменной $mail в среде %pre anaconda, а затем передать его в скрипт %post, где он будет добавлен в файл /foo/bar. Я пробовал так:
%pre
exec < /dev/tty5 > /dev/tty5 2> /dev/tty5
chvt5
echo "Please enter your Email Address."
read emailaddr
echo "$emailaddr" > /tmp/email.tmp
%post --nochroot
%include /tmp/email.tmp
emailaddr=$(cat /tmp/email.tmp)
echo "$emailaddr" >> /foo/bar
rm -f /tmp/email.tmp
%end
Однако, похоже, это вообще не работает. Я думаю, что я, возможно, делаю ошибку при переходе из каталога %pre в каталог %post. И помощь была бы очень признательна. Спасибо!
решение1
Это происходит из-за того, что раздел %post имеет chroot-каталог /mnt/sysimage (где находится устанавливаемая вами система).
Чтобы получить доступ к /tmp, созданному в вашем %pre, вам нужно использовать опцию "--nochroot" в разделе %post. Это может привести к созданию двух отдельных разделов post (один с "--nochroot", другой без), или вам нужно будет добавить к любому пути префикс /mnt/sysimage.
взгляните на документ RedHat: "https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/s1-kickstart2-postinstallconfig.html"