【发布时间】:2018-12-23 19:55:19
【问题描述】:
假设我们有 10 个产品都需要安装在 /opt/xyz 下。rpm -e 在上次卸载时没有清理目录。
spec文件如下:
%dir
/opt/xyz/client/version/lib
/opt/xyz/client/version/bin
/opt/xyz/client/version/etc
【问题讨论】:
标签: rpm
假设我们有 10 个产品都需要安装在 /opt/xyz 下。rpm -e 在上次卸载时没有清理目录。
spec文件如下:
%dir
/opt/xyz/client/version/lib
/opt/xyz/client/version/bin
/opt/xyz/client/version/etc
【问题讨论】:
标签: rpm
如果你指定
%目录 /opt/xyz/client/version/lib
rpm -qlp 不列出 lib 或以上的任何其他文件夹。 因此,要删除此软件包安装的所有父文件夹,请在 %dir 文件夹中明确列出它们,如下所示
%dir
/opt/xyz
/opt/xyz/client
/opt/xyz/client/version
/opt/xyz/client/version/lib
或 在 %files 部分指定父文件夹(这包括文件夹下的所有文件夹)
%files
/opt/xyz
包括 xyz 之后的所有内容。因此,如果您希望 rpm 拥有自己的安装/清理,请在 %files 部分中指定。但是,如果您希望 rpm 只拥有几个选择性文件夹/文件,请在 %dir 部分中指定它们
【讨论】: