Вот шаги, которые я предпринял:

  1. Создать RPM
  2. Установите rpm через "rpm -i" (это создает /opt /foo и распаковывает в него файлы)
  3. Измените некоторые файлы в /opt /foo / (переименуйте, добавьте данные и т.д.)
  4. Удалите rpm через "rpm -e"

И наблюдаемое поведение:

Все файлы в /opt /foo удаляются, кроме тех, которые были изменены. /opt /foo остается также.

Как я могу принудительно удалить /opt /foo и все его содержимое, даже если оно было изменено после первоначальной установки?

Огромное спасибо!

1 ответ1

1

rpm использует базу данных (обычно в /var /lib /rpm), где хранится информация об установках. Если вы создадите (переименуете, скопируете) файл в каталог установки, rpm не удалит его, так как его нет в базе данных. Если вы измените файл, rpm не удалит его, так как он содержит другую информацию в базе данных. rpm не удалит непустую директорию.

Если вы хотите удалить весь каталог, используя rpm, вам нужно перестроить базу данных непосредственно перед удалением. Смотрите rpm {--initdb|--rebuilddb} [-v] [--dbpath DIRECTORY] [--root DIRECTORY]

http://linux.die.net/man/8/rpm

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .