RHEL RPM спецификация после установки% post не sourcing shell-скрипт - PullRequest
0 голосов
/ 10 января 2019

Я пытаюсь источник сценарий оболочки в корневой среде (как я делаю установку от имени root) после успешной установки rpm в RHEL7.4 box

rpm spec % post раздел выглядит следующим образом:

%post
source /etc/profile.d/env.sh

script env.sh доступен после установки по указанному пути и используется для установки переменной среды PYTHONPATH , например:

pypath="/opt/lib"
if [ "$(echo $PYTHONPATH | grep $pypath)" == "" ]; then
        export PYTHONPATH="$PYTHONPATH:$pypath"
fi

Однако, это не происходит после успешной установки rpm, даже если я изменил команду " source " на ". " script

Когда я запускаю скрипт env.sh вручную, переменная устанавливается

1 Ответ

0 голосов
/ 10 января 2019

, вероятно, команда выполняется правильно, но вы ожидаете, что PYTHONPATH будет изменен для всех; это не так: PYTHONPATH изменяется только для сеанса оболочки раздела% post.

Каждый раз, когда вы запускаете новый сеанс оболочки (или bash), ваши переменные среды сбрасываются. Вы можете взглянуть на связанные вопросы для получения информации о том, как постоянно изменять переменные среды; затем вы можете выбрать, какую стратегию использовать для вашего пакета rpm, например:

https://unix.stackexchange.com/questions/117467/how-to-permanently-set-environmental-variables

...