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,并且在卸载时也将被删除。
我必须重新定位一个 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,并且在卸载时也将被删除。