1

我正在创建一个简单的 RPM 安装程序,我只需要将文件复制到我在此%install过程中创建的目录结构中。

这个%install过程很好,我/opt/company/application/使用命令创建了以下文件夹,mkdir -p %{buildroot}/opt/company/%{name}然后我继续从我的包中复制文件和子目录。我已经尝试安装它并且它可以工作。

我在卸载时遇到了疑问。我想删除该文件夹/opt/company/application/,并且我认为您应该%{buildroot}在引用安装位置时在任何地方使用。因为我的理解是用户可能有不同的结构,你不能假设它rmdir /opt/company/%{name}/会起作用。在该部分中使用该命令%postun会成功删除目录,而 usingrmdir ${buildroot}/opt/company/%{name}不会删除文件夹。

我的问题是,您不应该使用${buildroot}in%postun以获得正确的安装位置吗?如果不是这样,为什么?

4

1 回答 1

0

别担心。如果您在该%files部分中声明该目录是您自己的,RPM 将为您处理它。

仅供参考,%{buildroot}目标机器上可能不存在。

于 2013-09-19T00:53:31.800 回答