Ошибка Rpmlint "use-tmp-in-%postun"

Вам даже не нужно трубить, так как вы и так живете опасно; просто запустите свою команду, которая всегда выводит только безопасные команды для выполнения в конструкции расширения подоболочки:

$ $( awk 'BEGIN { print "echo hello" }' )
hello
1
11.01.2020, 11:10
2 ответа

всегда старайтесь избегать скриптов %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означают :, если этот файл/папка появляется, значит, он принадлежит мне. Это также означает, что они будут удалены при удалении пакета.

2
28.04.2021, 23:26

Это потому, что /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 -
0
28.04.2021, 23:26

Теги

Похожие вопросы