Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103564033
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-04-07 19:32:45

作者:wwashington  出处:Unix爱好者家园unix-cd.com
发信人: Wwashington (Jacky), 信区: NewSoftware 
标 题: Unixware 的 Service 管理和 Informix 工具 
发信站: BBS 水木清华站 (Sun Jan 23 23:15:44 2005), 站内 

Subject: Unixware 的 Service 管理和 Informix 工具 
Author : Wwashington AT smth bbs 
Release: 2005/01/23 

前言:欢迎转载,但是您必须保留原文所有信息,包括作者和时间,以及发表所在网站。 
之所以不到相关 Unix 版面去发表,是因为我觉得本文所讲的只是系统脚本小技巧而已。 

最近因工作需要研究 SCO Unixware 7.1.1 + Informix,略有心得,写出来与大家分享。 
在 SCO 网站上有 gnu 程序的下载,ftp://ftp2.sco.com/pub/skunkware/uw7/Packages 
至于最新的补丁,就是 ftp://ftp.sco.com/pub/unixware7/uw711pk/uw711mp5.cpio.Z 

我把 Unixware 7.1.1 的 gnu 软件和补丁程序分成了 6 个包,分别是 app、bas、dev、 
ssh、sys、upd。其中 bas 是要优先装的程序,其他是应用,upd 是 Maintenance Pack。 

1) 这是安装 bas 目录下内容的脚本。 

# cat /ftpin/sco/bas/root.sh 

LBIN=/usr/local/bin 
BASE=/ftpin/sco/bas 

echo "" | pkgadd -d `pwd`/bash-2.05a.pkg 
echo "" | pkgadd -d `pwd`/gzip-1.2.4.pkg 
echo "" | pkgadd -d `pwd`/ncftp-3.1.4.pkg 
echo "" | pkgadd -d `pwd`/readline-4.2a.pkg 
echo "" | pkgadd -d `pwd`/tcsh-6.08.00.pkg 
echo "" | pkgadd -d `pwd`/zsh-3.1.5pws15.pkg 

echo "" 
cd / 
$LBIN/gzip -dc $BASE/uw71.tar.gz | tar -xvf - 
echo "" 

2) 用它创建批量装 package 的脚本。 

# cat /root/scosys/usr/bin/patch.sh 

cat /dev/null > install.sh 
for foo in *.pkg do 
PKG=$foo 
echo -n "echo \"\" |" pkgadd -d $PWD/>>install.sh 
echo $PKG|tr -d " ">>install.sh 
done 
chmod +x install.sh 
ls -la install.sh 

3) 用 service 管理 Unixware 服务。 

bash-2.05a$ ./service 
USAGE: service [ all ] | [ service_name [ options ] ] 

# cat /root/scosys/usr/bin/service 

#!/sbin/sh 

# -- Service Control scripts, Linux Style -- 
# -- Study Demo Redhat 7.3 /sbin/service -- 
# -- Written by Wwashington AT Smth BBS --- 
# -- Publish on 2005/01/20 ---------------- 

SERVICEDIR="/etc/init.d" 

case $1 in 

'all'
echo "{ ------------ service in ${SERVICEDIR} ------------- }" 
ls ${SERVICEDIR} 
exit 1 
;; 
''
echo "USAGE: service [ all ] | [ service_name [ options ] ]" 
exit 1 
;; 
'*'
;; 
esac 

if [ -x "${SERVICEDIR}/$1" ]; then 
env -i LANG=$LANG "${SERVICEDIR}/$1" $2 
fi 

4) 此外,这里还有修改 Unixware 内核参数以便安装 Informix 的脚本。 
idtune.sh 自动计算内存并且修改内核, 
imtune.sh 显示某些要手工修改的文件, 
memory.sh 计算你的机器里的可用内存, 
sco_cd.sh 显示 SCO Unix 的光盘用法, 
sco_hd.sh 显示 SCO Unix 的磁盘用法, 
serv.sh 最精简的 service,功能弱。 

5) 在 SCO 用 $1 发生一个问题,就是以空格带头,导致 /etc/init.d/$1 
不是指向真正的 Unix Service 所在路径,用 xargs -i 来进行处理后, 
就可以用了。之前考虑过 awk、tr、sed 等,都不太理想。请大家赐教。 

# cat /root/scosys/usr/bin/serv.sh 

echo $1 | xargs -i sh /etc/init.d/{} $2 

# --------------------- End of document --------------------------- 

-- 

※ 来源:·BBS 水木清华站 ·[FROM: 61.144.33.*] 

下载链接: 


阅读(666) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~