RPM 不负责删除作为 RPM 重定位的一部分创建的目录

RPM doesnot take care of deleting the directories which are created as part of RPM relocation

我必须重新定位一个 rpm,因此我在我的规范文件中添加了前缀。

rpm.spec:

前缀:/etc

前缀:/usr

前缀:/var

搬家时:

rpm -ivh --relocate /etc=/akshatha/test/ --relocate /usr=/akshatha/test/ --relocate /var=/akshatha/test/ (rpm_package )

etc 有目录:aaa bbb ccc

usr 有目录:ddd eee fff

var 有目录:hhh iii jjj

所以我看到里面了 /akshatha/test/

$cd /akshatha/test/

$ ls -ltr

aaa bbb ccc ddd eee fff hhh iii jjj(而且some_other_contents_which不是rpm包)

搬迁成功..很高兴。

但是当我卸载那个 rpm 时:

rpm -e (rpm_package_name)

我看到目录aaa bbb ccc ...中的内容被删除了。

但目录不会作为卸载的一部分被删除。

如果我在卸载过程中强行删除这些文件夹:

rpm 需要 RPM_PREFIX_INSTALL=/akshatha/test

实际上删除了整个测试文件夹(其中还有一些不属于该 rpm 包的内容)

在 %files 部分,您可以定义属于 rpm 的内容以及删除 rpm 时将删除的内容。

如果你输入:

%files
/etc/test/*

/etc/test 中的所有文件将属于 rpm 但不属于 test 目录。如果你把

%files
/etc/test

然后 /etc/test 目录及其所有内容将属于 ​​rpm,并且在卸载时也将被删除。