rpm -e не удалил установленный каталог - PullRequest
0 голосов
/ 15 декабря 2011

Все,

Я создал пакет RPM, используя файл rpm.spec.Пакет успешно установлен.Когда я удаляю пакет, используя rpm -e, он удаляется из базы данных RPM

Но структура каталогов, созданная pkg, не была удалена.

Пожалуйста, помогите мне решить эту проблему.

1 Ответ

3 голосов
/ 21 декабря 2011

Есть несколько проблем с вашим файлом спецификации:

  • ваш раздел %files пуст, ваш RPM вообще не содержит файлов (попробуйте и rpm -ql packagename);
  • вы делаете всю свою работу в %pre и %post;
  • ваш %post слишком сложен.

Поскольку в вашем RPM вообще нет файлов, он не будет ничего удалять при его удалении, что логично. Что касается других проблем, было бы гораздо лучше, если бы ваш %post скрипт был файлом, предоставленным RPM, и чтобы для очистки был предусмотрен другой скрипт. Тогда ваш раздел pre, post, preun и postun будет выглядеть так:

#no %pre

%post
/path/to/install.sh

%preun
# Only if package completely removed!
[ "$1" = "0" ] && /path/to/cleanup.sh

#no %postun

Но, учитывая то, что вы делаете здесь, вам, вероятно, лучше использовать такой инструмент, как Puppet или другой.

...