我正在创建一个简单的RPM安装程序,我只需要将文件复制到我在%install
进程中创建的目录结构中。
%install
进程没问题,我使用命令/opt/company/application/
创建了以下文件夹mkdir -p %{buildroot}/opt/company/%{name}
,然后我继续从我的包中复制文件和子目录。我试过安装它并且有效。
卸载时我有疑问。我想删除文件夹/opt/company/application/
,我认为在引用安装位置时,您应该在任何地方使用%{buildroot}
。因为我的理解是用户可能有不同的结构,你不能认为rmdir /opt/company/%{name}/
会起作用。在%postun
部分中使用该命令会成功删除目录,而使用rmdir ${buildroot}/opt/company/%{name}
不会删除文件夹。
我的问题是,您是否应该在${buildroot}
中使用%postun
才能获得正确的安装位置?如果不是这样,为什么?
答案 0 :(得分:0)
不要担心。如果您在%files
部分声明该目录为您自己的目录,RPM将为您处理。
仅供参考,目标机器上可能不存在%{buildroot}
。