以下是我采取的步骤:
- 创建 RPM
- 通过“rpm -i”安装 rpm(这将创建 /opt/foo 并将文件解压到其中)
- 修改/opt/foo/下的一些文件(重命名、附加数据等)
- 通过“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]