首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

深入探测Linux cluster RPM 装配过程

2013-01-26 
深入探测Linux cluster RPM 安装过程今天同事在Suse的cluster 24的系统上准备安装给RPM,但是这个RPM中的Sp

深入探测Linux cluster RPM 安装过程

今天同事在Suse的cluster 2+4的系统上准备安装给RPM,但是这个RPM中的Spec文件里的脚本需要检测当前系统的ifconfig信息,问题就来了。系统在启动的时候IP interface还没有完全起来,导致RPM重启某个服务不起作用。

第一次很简单的我就想到在Spec中先循环检测IP interface,当检测到已经起来了再进行服务重启。结果查看程序log,一直没有打印循环那一块的日志。再检查/var/log/message里系统的log发现系统log也没有写了,一直阻塞在我们打的RPM包那。由此可见cluster安装RPM是队列式安装的,并且Spec里的脚本阻塞也会导致整个cluster安装RPM阻塞!

解决方案:在Spec文件中对循环检测系统IP Interface的地方用多线程引出来,也就是shell中的后台运行。如何对shell脚本进行后台执行,请看下面的例子:

# !/bin/bashfor((i = 0 ;i < 5 ;i ++ )); do{    sleep 3 ;echo 1 >> aa  &&  echo " done! "} &donewaitcat aa | wc  - lrm aa
这段程序只需3s,原因很简单,同时执行了,请注意for循环后面的&符号。此符号就是让程序在后台执行。另外再说下wait的作用,就是等上面的后台程序执行完后再执行后面的程序。

热点排行