发信人: Wwashington (Jacky), 信区: NewSoftware
标 题: OpenServer 的系统补丁以及批量安装 VOL 包
发信站: BBS 水木清华站 (Sun Jan 30 22:57:31 2005), 站内
Subject: OpenServer 的系统补丁以及批量安装 VOL 包
Author : Wwashington AT smth bbs
Release: 2005/01/30
前言:欢迎转载,但是您必须保留原文所有信息,包括作者和时间,以及发表所在网站。
之所以不到相关 Unix 版面去发表,是因为我觉得本文所讲的只是系统脚本小技巧而已。
最近因工作需要研究 SCO Unixware 7.1.1 + Informix,但是考虑到最早的程序用的是
SCO OpenServer,所以也装了一份 OSR 5.0.7 做后备,积累了一些经验,与大家分享。
在 SCO 网站上有 gnu 程序的下载,ftp://ftp2.sco.com/pub/skunkware/osr5/vols/
至于最新的Supp光盘3,就是 ftp://ftp.sco.com/pub/openserver5/507/iso/suppcd3/
我把下载的 OSR 5.0.7 的 gnu 软件和补丁程序分成了 3 个包,在 volz 目录下分别
是 base.tgz (基本包),drvz.tgz (驱动包),osr5.zip (完整包),其中 base 是基本
的程序或者其他程序的安装基础,drvz 目前只有 Nvidia for OSR5.0.7 的驱动,大家
可以根据自己的需要来下载并定制,osr5 是从 SCO 网站下的程序,去掉了一些重复的
旧版本后,精简而成。另外,conf 目录下: osr5.tar.gz 和 uw71.tar.gz。osr5 就是
安装脚本,uw71 就是在 UnixWare 7.1.1 下的配置,在 OpenServer 下大部分有效。
------------------------------------------------------------------------------
1) 首先说一下安装 OSR 的完整步骤。请参见 osr5.tar.gz 里的 0-Sco507.txt
1.a) First step, install SCO 5.0.7(Hw). Then upload OSR volpack
and run pbase.sh to install base system. Now you have bash 2.13
and scoreg.bin tool. Register your SCO as soon as possible. You
can run patch.sh and pserv.sh when you want in the future.
1.b) Run custom as root, insert the OSR 5.0.7 setup CD, install
"GNU Development Tools" & "SCO OpenServer Development System".
After that, insert UnixWware 7.1.3 UDK CD, install UDK 8.0.1Aa.
Finally, insert OSR 5.0.7 Supp CD3, install Maintenance Pack 3,
Update Pack 3, and other services you want.
1.c) You must enable SSL and use the latest perl if you install
webmin. In order to keep perl most update, just do this
mv /usr/bin/perl /usr/bin/perl5
mv /usr/bin/perl# /usr/bin/perl
mv /usr/local/bin/perl /usr/local/bin/perl5
ln -s /usr/bin/perl /usr/local/bin/perl
1.d) Change SCO default ls, and set Unix PATH like this
ln -s /usr/local/bin/ls /usr/gnu/bin/ls
vi ~/.profile
------------>
PATH=/bin:/etc:/usr/bin:/tcb/bin
PATH=/usr/gnu/bin:$PATH:/udk/usr/ccs/bin:/usr/local/bin
TZ=CST-8
export PATH TZ
1.e) The tar in /usr/gnu/bin is GNU tar, the GNU automake need
a latest perl. There are two cc in the system, one is /bin/cc,
the OSR DevSys, the other is /udk/usr/ccs/bin/cc, Unix DevKit.
SCO web says that only UDK application can run in all SCO Unix.
------------------------------------------------------------------------------
2) 其次说明一下拷贝了完整的安装包后怎么用。
2.a) 首先是把所有的文件包连同目录上传到你的 OpenServer 机器上,例如 /udb/osr5,
那么 /udb/osr5/conf 下面有 osr5.tar.gz 和 uw71.tar.gz,而 /udb/osr5/volz 下面
则有 base.tgz,drvz.tgz 和 osr5.zip
2.b) 以 root 的身份创建 /ftpin 目录,今后主要是对这个目录进行操作。
cd /
gzip -dc /udb/osr5/conf/uw71.tar.gz | tar -xvf -
cp /root/scosys/usr/bin/* /usr/bin
(备注:这里主要是上次的文章说的一些 UnixWare 工具,在 OpenServer 下依然有用)
cd /ftpin
gzip -dc /udb/osr5/conf/osr5.tar.gz | tar -xvf -
gzip -dc /udb/osr5/volz/base.tfz | tar -xvf -
2.c) 首先要安装 base 包,然后你的系统里就会有 bash、unzip 和 scoreg 注册机了。
其实 pbase.sh、patch.sh、pserv.sh 的原理是一样的,都是先解压再自动装 vol 包。
不同的是,pbase 是装其他包的基础,patch 是无人干预自动装,pserv 是需要交互的。
cd /ftpin/osr5
./pbase.sh
(备注:pbase.sh 解压完文件后,会生成 install.id 安装包清单,并提示继续安装)
./install.sh
2.d) 现在已经装好了基本包,接下来要解压 vols 和 serv 包了,都在 osr5.zip 里。
cd /ftpin
unzip /udb/osr5/volz/osr5.zip
cd /ftpin/osr5
./patch.sh
./install.sh
(备注:这是全自动安装两百多个软件包,需要比较长的时间,你可以喝杯咖啡再回来)
./pserv.sh
./install.sh
(备注:这是需要配置的,用户必须回答系统的一些问题,之后按说明去启动服务即可)
2.e) 需要注意的是,webmin 里需要用 ps -ef | grep webmin 找到配置文件,然后按
文章前面的说明保证 perl 的版本为最新,perl5 为 5.004,并且要修改配置文件,把
SSL=0 改为 SSL=1。然后 service all; service webmin stop; service webmin start
其实 base 里的 apache 1.3.0 只是为了后面要装其他包,真正用的时候,系统自己带
了 1.3.27,并且经过 Supp CD3 升级为 1.3.31,所以大家不需要太担心安全漏洞。
2.f) 此外 OSR 安装盘里的 gcc 版本是 2.95.3 的,目录在 /usr/gnu/bin,VOL 安装
包的 gcc 版本是 2.95.2pl1,目录在 /usr/local/bin,大家根据需要设置目录。OSR
安装盘里的 cc 是 OpenServer Development System,目录在 /bin,UnixWare 7.1.3
UDK 安装盘里的 cc 则不同,它是 UnixWare and OpenServer Development Kit,目录
在 /udk/usr/ccs/bin。根据 SCO 网站的资料,用 UDK 开发的程序可以在 SCO 的三种
平台上运行。
------------------------------------------------------------------------------
3) 最后,向大家讲解一下自动安装的实现,破解补丁盘的制作,以及在哪个站点能下载。
3.a) 首先是 patch.sh,它主要是利用 SCO 的 cut 取得信息,并且用 bc 来做计数器。
这里有个特殊的功能,就是安装的黑名单,黑名单里的软件不会列入 install.id,理由
是可能系统已经有更高版本,或者安装后出错,或者你对它不感兴趣。在 OSR 5.0.7 里
黑名单文件是 sk-5.0.7 ,大家可以自行编辑。
bash-2.03# cd /ftpin/osr5
bash-2.03# cat patch.sh
OSR5VER=`uname -a | cut -d" " -f4`
BASEDIR=`pwd`
SOFT_ID=0
SUCC_ID=0
cat /dev/null > install.id
cat /dev/null > /tmp/sk-$OSR5VER
echo ""
echo "[info] OpenServer Version = $OSR5VER"
echo "[info] Exception PAK File = sk-$OSR5VER"
echo "[info] Working Directory = $BASEDIR"
if [ ! -r cust/. ] ; then
mkdir cust
fi
rm -Rf cust/*
sleep 2
rm -Rf cust/*
echo "[tips] Press Enter to continue ..."
read cont
for foo in vols/*.tar ; do
PKG=$foo
PAK=`basename $PKG | cut -d- -f1`
VER=`basename $PKG | cut -d- -f2`
VOL=cust/$PAK/VOL.000.000
SOFT_ID=`echo "$SOFT_ID + 1" | bc`
echo "[ID] = $SOFT_ID"
echo "From <--" $PKG
if [ "`grep -ix $PAK sk-$OSR5VER`" = "" ] ; then
SUCC_ID=`echo "$SUCC_ID + 1" | bc`
echo "To -->" $VOL
echo -n "$PAK-$VER " >> install.id
mkdir cust/$PAK-$VER
cd cust/$PAK-$VER
tar xvf ../../$PKG
else
echo "Skip --> SCO_SV $OSR5VER has Package [$PAK] or user skip"
echo -n "$PAK-$VER " >> /tmp/sk-$OSR5VER
fi
echo ""
cd $BASEDIR
done
echo "Total Packages = $SOFT_ID , Extracted = $SUCC_ID , Skipped = `echo \"$SOFT_ID - $SUCC_ID\" | bc`"
echo "Run this command to review the skipped packages list: cat /tmp/sk-$OSR5VER"
echo ""
echo "If you want to install manually, please run the custom command as root."
echo "If you want to install automatically, you may run ./install.sh as root."
echo ""
echo "" >> install.id
echo "" >> /tmp/sk-$OSR5VER
chmod +x install.sh
ls -la install.*
echo ""
3.b) 其次是 install.sh,原理很简单,把 install.id 的内容作为 for 循环的取值。
bash-2.03# cat install.sh
PAKLIST=`cat install.id`
SOFT_ID=0
for foo in $PAKLIST ; do
VDIR=`pwd`/cust/$foo
VOLS=$VDIR/VOL.000.000
SOFT_ID=`echo "$SOFT_ID + 1" | bc`
echo ""
echo [ Package $SOFT_ID ] = $VOLS
cmpnt=`grep "component" < $VOLS | head -1 | cut -d= -f2 | cut -d: -f1`
pkg=`grep "component" < $VOLS | head -1 | cut -d= -f2 | cut -d: -f2`
custom -p $cmpnt:$pkg -i -z $VDIR
done
echo ""
3.c) 至于 pbase.sh 和 pserv.sh,主要是修改了源文件目录,并把黑名单设置为空,
这样就可以处理数量不大的情况了。例如装 Nvidia for OSR 5.0.7 的时候,把 base
目录清空,从 drvz.tgz 展开 nv-osr507-VOLS.tar 放到 base 目录,就可以安装了。
将来大家定制 vol 包的时候,请注意命名规则,一般是:程序-版本-VOLS.tar
3.d) 在 ChinaUnix 上有篇文章讲不需要 License 装 OSR 5.0.7 Update 2,我已在
Update 3 下测试成功。前提是改好再刻盘,如果已经用原版盘装过 Update 3 失败,
后来再用破解盘也无济于事,估计只能重装,或者要手工修改一些未知的系统文件了。
http://bbs.chinaunix.net/forum/7/20040523/331452.html
Installing Update pack 2 for SCO OpenServer 5.0.7
If you install from Supplement CD2 .iso:
1. Open iso file with UtlrasIsO
2. Delete line " updateProductVersion=1.0"
from file /opt/P/SCO/UP2507/1.0.0Ca/.Softmgmt/product.db and
Save file.
3. Save iso image and burn CD
Now you can install it without License Number.
-------------------------------------------------------------
Installing Update pack 3 , also change product.db . You can
find it at /opt/P/SCO/UP3507/1.0.0Ca/.Softmgmt/product.db
3.e) 我把上述安装包放到下面这个 ftp 里,如果大家有需要,请转到其他服务器上。
[下载地址] ftp://unix:unix@www.x288.com/OpenServer507VolSetup/
注意:ftp 终端不要使用被动模式,对方的服务器不支持 Passive Mode,速度还不错。
# ------------------------- End of Document --------------------------------
附件下载:
http://www.smth.org/bbscon.php?ftype=0&bid=99&id=631036&ap=8826
http://www.smth.org/bbscon.php?ftype=0&bid=99&id=631036&ap=11943
cz_sjq 回复于:2005-09-09 00:53:37 |
如有unix5.0.7注册机请给小弟发一个,不胜感激.
e-mail: sun95588@126.com |
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/