小编Dee*_*ole的帖子

避免rpm包中的文件冲突

我创建了一个 rpm 包。.spec 文件的部分在下面

%install    
mkdir -p ${RPM_BUILD_ROOT}/etc/xyz    
cp -rf %{BDIR}/console ${RPM_BUILD_ROOT}/etc/xyz

%files    
/etc/xyz/console
Run Code Online (Sandbox Code Playgroud)

所以 XYZ 包将控制台目录复制到/etc/xyz目录。控制台目录还包含一些其他目录。

安装工作正常,但是当我删除包时 rpm 不会删除/etc/xyz/consoledir下的文件和目录。

所以在重新安装 rpm 包时,它说文件发生冲突。

我们如何清理目录下的所有文件?

更新:

目录结构:

console-
   -dashboard.html
   -index.html
   -login.html
   -logout.html

   -cgi-bin
   -cgi-bin/authenticate.py
   -cgi-bin/login.py
   -cgi-bin/logout.py

   -media
   -media/script/application.js
   -media/script/bootstrap.js
   -media/script/jquery.min.js960.css
   -media/script/jquery.flot.js

   -media/css/bootstrap.css
   -media/css/style.css
   -media/css/jquery-ui-1.10.0.custom.css

   -media/image/logo.png
   -media/image/banner.png
Run Code Online (Sandbox Code Playgroud)

规范文件:

%install

[ "$(cd "${RPM_BUILD_ROOT}" && pwd)" != "/" ] && rm -rf ${RPM_BUILD_ROOT}
mkdir -p ${RPM_BUILD_ROOT}/etc/application/console/cgi-bin
mkdir -p ${RPM_BUILD_ROOT}/etc/application/console/media/css
mkdir -p ${RPM_BUILD_ROOT}/etc/application/console/media/css/images
mkdir -p ${RPM_BUILD_ROOT}/etc/application/console/media/script


cp %{BDIR}/console/dashboard.html ${RPM_BUILD_ROOT}/etc/application/console/dashboard.html
cp %{BDIR}/console/index.html …
Run Code Online (Sandbox Code Playgroud)

redhat centos rpm

5
推荐指数
1
解决办法
7275
查看次数

标签 统计

centos ×1

redhat ×1

rpm ×1