[原创]Unixware 的 Service 管理和 Informix 工具
来源:互联网
作者:west263.com
时间:2008-04-16
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
发信人: 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 ---------------------------
发信人: Wwashington (Jacky), 信区: NewSoftware
标 题: Re: Unixware 的 Service 管理和 Informix 工具
发信站: BBS 水木清华站 (Mon Jan 24 15:29:17 2005), 站内
【 在 Wwashington (Jacky) 的大作中提到: 】
: 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
今天回公司测了一下,估计是由于 KEYBOARD 和 TERM 的配置引起的问题,
但是 xargs 能解决也算是歪打正着。而且,假如您在 serv.sh 里直接用
/etc/init.d/$1 $2 是不行的,那样不带参数会报告 Cannot execute,带
nis、rpc 等服务参数也是同样报告 Cannot execute。
假如 serv.sh 用 sh /etc/init.d/$1 $2,那么带 nis、rpc 等服务参数
时正常,但参数为空则报告 Syntax error。最后证实还是 xargs 好用啊。
--
※ 来源:·BBS 水木清华站 http://smth.org·[FROM: 61.144.33.*]
下载链接:
http://www.smth.org/bbscon.php?ftype=0&bid=99&id=627463&ap=2938



