Вам даже не нужно трубить, так как вы и так живете опасно; просто запустите свою команду, которая всегда выводит только безопасные команды для выполнения в конструкции расширения подоболочки:
$ $( awk 'BEGIN { print "echo hello" }' )
hello
всегда старайтесь избегать скриптов %post
и %postun
, если это возможно. Вы можете сделать эти файлы или папки aci принадлежащими вашему пакету.
предположим для примера, что /var/aci
— папка, а /tmp/aci_tmp
— файл. Тогда вы могли бы просто:
%install
mkdir -p $PPM_BUILD_ROOT/var/aci
%files
/var/aci
%ghost /var/aci/* # not sure this is necessary...
%ghost /tmp/aci_tmp
директивы %ghost
означают :, если этот файл/папка появляется, значит, он принадлежит мне. Это также означает, что они будут удалены при удалении пакета.
Это потому, что /tmp
обычно монтируется как tmpfs. Если ваш пакет поместил что-то туда, это будет стерто при перезагрузке.
Ваш случай, вероятно, в порядке, поскольку вы игнорируете ошибку.
Лучше использовать tmpfiles.d (5 ). То есть создать файл/etc/tmpfiles.d/aci.conf
С некоторыми из этих строк (не уверен, что вы создаете файл или каталог):
#Type Path Mode User Group Age Argument
f /file/to/create mode user group - content
F /file/to/create-or-truncate mode user group - content
w /file/to/write-to - - - - content
d /directory/to/create-and-cleanup mode user group cleanup-age -
D /directory/to/create-and-remove mode user group cleanup-age -