如果初始安装后修改了安装目录,RPM 不会删除这些目录

如果初始安装后修改了安装目录,RPM 不会删除这些目录

以下是我采取的步骤:

  1. 创建 RPM
  2. 通过“rpm -i”安装 rpm(这将创建 /opt/foo 并将文件解压到其中)
  3. 修改/opt/foo/下的一些文件(重命名、附加数据等)
  4. 通过“rpm -e”卸载 rpm

观察到的行为:

/opt/foo 下的所有文件(已修改的文件除外)都将被删除。/opt/foo 也保留下来。

如何强制删除 /opt/foo 及其所有内容,即使它在初始安装后被修改了?

非常感谢!

答案1

rpm 使用数据库(通常在 /var/lib/rpm 中)来存储有关安装的信息。如果您在安装目录中创建(重命名、复制)文件,rpm 不会将其删除,因为它不在数据库中。如果您修改文件,rpm 不会将其删除,因为它在数据库中具有不同的信息。rpm 不会删除非空目录。

如果要使用 rpm 删除整个目录,则需要在卸载之前重建数据库。请参阅rpm {--initdb|--rebuilddb} [-v] [--dbpath DIRECTORY] [--root DIRECTORY]

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

相关内容