RPM% postun, кажется, не имеет никакого эффекта - PullRequest
0 голосов
/ 20 апреля 2020

В настоящее время я пытаюсь убедиться, что некоторые указанные c файлы и папки будут удалены после того, как я навсегда удалю пакет rpm. Итак, чтобы упростить задачу, я просто создал файл ~/sample.txt для удаления в сценарии после удаления. Итак, у меня есть этот раздел в моем файле spe c:

%postun

if [ "$1" = 0 ];
    then
    rm -f ~/sample.txt
fi

Эта вещь компилируется, учитывая, что опечатки были предупреждены после того, как я попытался удалить пакет, но даже после исправления сценарий postun кажется не бежать вообще. Я подозреваю, что, поскольку rpm не создал файл ~/sample.txt, он также не сможет удалить его.

Примечание: условное if [ "$1" = 0 ]; следует предложению здесь , чтобы избежать удаления при обновлении.

1 Ответ

0 голосов
/ 20 апреля 2020

При установке или удалении пакета rpm пользователь root выполняет команды, поэтому ~/sample.txt будет расширен до /root/sample.txt

PS: очень хороший обзор аргументов, которые вы получаете в скриптах pre / post / preun / postun: https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/

...