当前位置:  技术问答>linux和unix

关于打包升级的问题,敬请高手赐教。

    来源: 互联网  发布时间:2015-01-27

    本文导语:  我的clusterpro_webmc-2.0-redhat_6.8.spec文件如下,生成的包名为: clusterpro_webmc-2.0-redhat_6.8.i386.rpm, 在未安装以前的版本时,可以通过 rpm -ivh clusterpro_webmc-2.0-redhat_6.8.i386.rpm来顺利安装。 但在安装了以前的版本时,如cluster...

我的clusterpro_webmc-2.0-redhat_6.8.spec文件如下,生成的包名为:
clusterpro_webmc-2.0-redhat_6.8.i386.rpm,
在未安装以前的版本时,可以通过
rpm -ivh clusterpro_webmc-2.0-redhat_6.8.i386.rpm来顺利安装。
但在安装了以前的版本时,如clusterpro_webmc-2.0-redhat_6.7.i386.rpm,
客户要求通过执行命令 rpm -Uvh clusterpro_webmc-2.0-redhat_6.8.i386.rpm
进行升级即可。可现在的问题是,执行了升级命令后,表面上成功了,可是实际的指定目录文件(如/usr/clusterpro/webmc)却被删除了。
也就是此时该包只时一个空壳了。我的理解是在升级时执行了下面
%pre中的rm -rf /usr/clusterpro/webmc,可是却没有执行其他的后续语句。
尽管用rpm -qa|grep cluster命令可以查看到包
clusterpro_webmc-2.0-redhat_6.8已经安装。

我该怎么办?

==========================================================================
%define targetpath /usr/clusterpro/webmc
%define scriptpath /usr/clusterpro/armmgr/sample/linux

Summary: ABC CLUSTEPRO(R) Web Manager for Linux
Name: clusterpro_webmc
Version: 2.0
Release: redhat_6.8
Copyright: ABC Corp.
Group: Applications/Networking
Source:  clusterpro_webmc.tar.gz
Vendor:  ABC Corp.
Packager:  ABC(XIAN).


%description
CLUSTEPRO(R) Web Manager is a commercial software developed by ABC Corparation,
It provide web means to manage the CLUSTEPRO(R) system.

%pre
if [ -e /etc/rc.d/init.d/clusterpro_mgr ] ; then
cp -f /etc/rc.d/init.d/clusterpro_mgr /etc/rc.d/init.d/clusterpro_mgr_webmc
fi
rm -rf /usr/clusterpro/webmc
mkdir -p /etc/clusterpro/webmc
mkdir -p /usr/clusterpro/webmc
mkdir -p /usr/clusterpro/webmc/bin


%post
if [ ! -e /etc/rc.d/rc3.d/S36clusterpro_mgr ] ; then
ln -s /etc/rc.d/init.d/clusterpro_mgr /etc/rc.d/rc3.d/S36clusterpro_mgr
fi
if [ ! -e /etc/rc.d/rc5.d/S36clusterpro_mgr ] ; then
ln -s /etc/rc.d/init.d/clusterpro_mgr /etc/rc.d/rc5.d/S36clusterpro_mgr
fi
if [ ! -e /etc/rc.d/rc6.d/K36clusterpro_mgr ] ; then
ln -s /etc/rc.d/init.d/clusterpro_mgr /etc/rc.d/rc6.d/K36clusterpro_mgr
fi

%preun
rm -rf /usr/clusterpro/webmc/client/scripts/*
rm -f /usr/clusterpro/webmc/bin/*.log
rm -f /usr/clusterpro/webmc/bin/*.pid
if [ ! -e /etc/rc.d/init.d/clusterpro_mgr_webmc ] ; then
cp -f /etc/rc.d/init.d/clusterpro_mgr /etc/rc.d/init.d/clusterpro_mgr_webmc
fi

%postun 
rm -f /etc/rc.d/rc3.d/S36clusterpro_mgr
rm -f /etc/rc.d/rc5.d/S36clusterpro_mgr 
rm -f /etc/rc.d/rc6.d/K36clusterpro_mgr
rm -rf /etc/clusterpro/webmc
rm -rf /usr/clusterpro/webmc
if [ -e /etc/rc.d/init.d/clusterpro_mgr_webmc ] ; then
cp -f /etc/rc.d/init.d/clusterpro_mgr_webmc /etc/rc.d/init.d/clusterpro_mgr
rm -f /etc/rc.d/init.d/clusterpro_mgr_webmc
fi

%prep
%setup -c
%build
cd test/
make -f makefile
%install
mkdir -p /usr/clusterpro/webmc
mkdir -p /usr/clusterpro/webmc/bin
mkdir -p /etc/clusterpro/webmc
mkdir -p /usr/clusterpro/armmgr/sample
mkdir -p /usr/clusterpro/armmgr/sample/linux

install -m 755 test/webmc.exe /usr/clusterpro/webmc/bin/webmc.exe
cp -r client /usr/clusterpro/webmc/
cp webmc.conf /etc/clusterpro/webmc/
cp clusterpro_mgr /etc/rc.d/init.d/
cp start.bat /usr/clusterpro/armmgr/sample/linux
cp stop.bat /usr/clusterpro/armmgr/sample/linux

%files
/etc/clusterpro/webmc/webmc.conf
/etc/rc.d/init.d/clusterpro_mgr
%{targetpath}
%{scriptpath}


|
rpm -U *.rpm

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux 命令 打包文件是.tsv的,打包成.tar.gz
  • servlets 能打包成.jar文件吗?打包之后又是怎样调用呢?
  • tar 打包失败
  • 关于ScoUnix用打包的问题!
  • 在Jbuilder中怎么给应用程序打包?
  • 请教关于利用java把文件打包的问题,希望能够得到简单的回答,在线等待结帖
  • java应用程序打包出现问题。
  • linux系统下打包的问题
  • 怎样实现将多个servlet打包在一起?
  • 如何将自己开发的类打包(生成.jar文件)
  • 关于tar打包时的问题
  • C 实现多个文件的打包和解压
  • Eclipse的快速打包插件 FatJar
  • $$$ 图片打包进 jar 怎么就找不到拉 急死我了
  • Qt Creator 这么将程序打包?
  • 高分请教简单问题,tar打包。
  • linux shell tar 打包问题?求指点(新手)
  • 软件打包工具 EPM
  • 怎样打包我的applet class
  • 没人解决吗?我在一个包中如何引用一个未打包的Class?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3