IBM软件技术,WebSphere,Linux,SOA等

发布新日志

  • 技术永远比产品值钱

    2009-02-08 01:28:56Top 1 Digest 1

        今天突然领悟到了这个道理。做IT的,永远要关注在技术上,而不是特定产品上。从薪金的角度来说,精通技术的人永远比精通某一种产品的人要高薪的多。因为产品是用技术开发出来的,关注了技术就关注了本质。
        从测试来说,我认为对于自动化测试和性能测试这两个领域,就很好的体现了技术与产品的关系。做自动化测试,学习到的是自动化框架、脚本语言的编写,(当然也有自动化测试工具,比如基于录制/回放技术等,但那些属于低级层面,不在讨论范围)。而性能测试,关注的是在一个复杂应用环境中遇到了性能问题时,如何去解决它。而解决的结果,通常是调优一些产品参数,使之适合当前的环境。而这个过程,你学习到的是特定产品的调优技巧。虽然它也有一定的通用性,但实际上,无论从技术含量上、还是应用领域上都不高、不广泛。我这里说的可能有些片面,但我想强调的是,如果你是搞测试的,并且你有选择的权利,建议你去选择学习自动化测试方向,在其中着重学习一些脚本编写技术。比如Windows下的批处理脚本,unix/linux下的shell语言,还有一些广泛在web开发中使用到的ruby,python, perl, jython等等。对这些脚本的精通,会使你身价狂增,想像一下在一个团队中,只有你能写出天书似的脚本,并且能够高效的完成测试任务,这样的人不拿高薪等什么呢?而且从学习周期的角度来说,脚本语言的编写也比性能调优学的快的多。你可以在1-2个月内熟练掌握某一种脚本语言的语法并且制作出属于自己的脚本,而想要在性能测试中具有丰富经验,没有1-2年是不可能的。在这个浮躁的社会,谁都希望学到的东西能够尽快的得到回报,我想,学习脚本语言,让你的工作高效化,这种自身带来的满足感和工资提升上带来的实际认知度,能让你得到最大的成就感。
        今年,对我来说,我就要开始对于脚本语言的学习了。我希望我能在批处理脚本、shell语言上做到精通。它将给我未来测试职业生涯的发展带来非常大的好处,我坚信这一点。
        我做了3年测试,今天,终于在无人点拨的深夜明白了这个道理,可惜我付出了三年。好在我还年轻,我还有些时间,不能再浪费时间了,学些无用的产品特定的知识,那些对我没有太大意义。
        做测试当然也能拿高薪,但前提是你不要想绕开编程,IT领域的核心就是编程,只要你还搞技术,你想做到senior,你就不可能脱离编程(除非你做管理)。如果你厌倦了java庞大而复杂的编程技术,对它望而生畏的话,试着去学习一些小巧但不失强大的脚本语言,你会觉得耳目一新。你的职业发展道路会更顺畅。
  • install ruby plugin on eclipse

    2010-09-17 11:18:36

    steps:
    1. download and install eclipse 3.5.2. Do not use eclipse 3.6. It will report NPE after you installed Aptana.
    2. install Aptana. Now, ruby development tools (RDT) is embedded into Aptana framework.
    http://docs.aptana.com/docs/index.php/Plugging_Aptana_into_an_existing_Eclipse_configuration
    Follow steps in "Aptana Studio 1.5 on Eclipse 3.5 Instructions (Recommend)" part.
    3. reboot eclipse.
    4. install RDT and rails.
    click "Aptana RadRails" in customized Aptana Studio. This will install RDT and rails.
    5. reboot eclipse.
    6. install other plugins when prompted, like rake, gem,etc.


    reference:
    http://www.ibm.com/developerworks/opensource/library/os-rubyeclipse/
    http://www.ibm.com/developerworks/opensource/library/os-eclipse-rdt/index.html
  • 如何学习IT技术之一:学习的效率

    2009-08-14 23:31:09

        今天,我来谈第一个问题,学习的效率。把它作为第一个问题,是因为效率在当今技术发展日新月异的IT领域,实在是太重要了。我想对于很多人来说,都要不停的学习IT技术,各种各样的技术。那么如何能在最短的时间内学会这些东西,让它真正成为自己的本领,我想对于跳槽、加薪还是自身价值的提高、自信心的培养都是很重要的。
        这里我想主要提一点,就是思维的敏捷性。
        无论你在看书,电子文档还是网上各种文章,保持活跃跳动的思维是很必要的。简单的来说,就是不能傻看书,要一直思考,跟着书中的描述去体会,去猜想,去提问题。这种方式在理工类书籍的攻坚战中尤为重要。
        比如,前两天我再看<Head First EJB>看过的都知道,这是很搞笑的一本书,把EJB写成这样浅显易懂,真是不服不行。那里面就提到了bean, 容器,服务, EJBObject之间的关系。感谢这本书,把它们拟人化,bean就是处理客户业务逻辑的最后实现者,它坐在那不动,等着客户的请求;容器是个白领丽人,打电话管理着bean,把它置在容器的管辖范围内,由各种“服务”(可以看成餐馆里的服务员,这是我想到的,不是书中的)服侍着bean,比如事务处理啊,安全性啊,命名服务啊,持久化服务啊等等。不同的厂商提供的服务细节不一样,但都会提供类似的服务。这就好比餐馆里的服务员虽然每家都有,但每家都不同,有的热情好客,有的菜品知识很全面,有的服务很到位等等。而EJBObject,每次我一想到它就是想到那个门口的保镖,摆着个要打架的pose对待着每一个进来吃饭的client,有了它,bean不会直接被client接触到,而是这个保镖先替它验明正身。
        当然,不是每本书都能写出<Head First XXX>一样的,迄今为止市面上的技术书籍我也就看过这么一本比较easy的,但这给了我们一个启发。如果我们在看每一步技术书籍时都能主动地发散思维,触类旁通,把枯燥的技术和现实生活中尽可能地联系起来,那学习岂不是很简单的一件事?人总是能在类比中找到共同点,从而理解的更深刻。而你记住,发明这些技术的人也不是什么怪人,它们发明的技术都是从现实生活中得到的灵感。比如代理,包装,序列化,还有各种设计模式,在现实生活中都能找到原型。这就是发散性思维的重要性。
        我在研究生学习时,我敬仰的一个院长在给我们上课的时候就经常锻炼我们的发散性思维,类比的能力,这在学术研究领域是一种研究的能力,而在日常工作中就是学习的效率和理解力。
        现在不是都讲创新吗?怎么创新?没有发散的思维,没有灵活的头脑,遇事不多问几个为什么,而只是机械的接受,我相信你成不了大才。不怕你问的蠢,就怕你不问,就怕你不想。它为什么是这样?它如果当初不这么设计,会是怎样?刚开始你可能回答不了这些问题,你会被这些问题弄的很烦,但你只要坚持下去,凡事多问几个why,你的思维习惯就会慢慢的改变,思维也会更加敏捷,学起东西来就会比一般人快的多,因为到那时你就会觉得这些知识点都不是孤立的,都是有内在联系的,可以串成一条线,连成一个网的。到那时,你的知识水平就会比一般人高一个层次,你可以从更高的角度来看待这些技术,它们的不同点,相同点。收放自如。
        当然,思考的过程总是比机械的阅读要慢很多,这样做你可能一天都看不了几页,觉得看的很慢,后面那么多东西都没看呢,而脑子里总是在想书上没写的乱七八糟的东西,又找不到答案,觉得很苦闷。但是你不要急,这涉及到另外一个问题,即:学习的度-你想看到多深?这个问题我下次再谈。简而言之,既然你所看过的你也不能100%都记住-就像背单词一样,有多少人考CET-6的时候背了后面忘了前面的呢?--既然这样,你不如看的慢点,来回反复的看,你要真正做到,你只有完全理解了这一页的内容,再翻下一页。机械的阅读是记不住任何东西的--就像你吃力的背从来都用不上的单词一样,睡一夜觉就忘。它们和你的大脑没有发生化学反应。
        记住,不是你看了你就学会了,你背了多少遍你就学会了,只有你真的理解了,用自己的思维把它吃透了,你才学会了。
  • 如何学习IT技术之零:引子

    2009-08-14 00:07:21

    最近喜欢写一些关于学习的文章,这篇是引子,给出我的大纲。后面会陆续针对这里列出的11个方面进行阐述。

    如何学习IT技术:
    1. 学习的效率:思维的敏捷性。
    2. 学习的长期性:不要想一口吃个胖子,学习是长期性的战斗。
    3. 承认IT技术的繁杂与多样性:问题是,你到底要在哪方面发展?
    4. 书籍与技术的关系
    5. 快速学习的捷径
    6. 技术的内涵:为了满足客户在某些方面上的需求。
    7. 学习技术的度:学到何处为止?
    8. 学习的环境和时间:你在何时何地效率最高?
    9. 学习的完备性:完善你的知识体系。我应该学些什么?我还缺些什么?
    10. 检验你的学习成果
    11. 学习的方法论:遇到一门新技术,你该从哪里开始?


    希望大家关注 :)
  • vmware安装RHEL5笔记

    2009-08-12 22:37:27

    这不是完整的文档,这只是一个纲领。
    1. 安装VMWARE 6.5.因为我要安装RHEL5.2,而版本<6.5的vmware workstation对RHEL5不能支持(这些信息如何得到?你要自己去看vmware的guest OS guide)
    2. 安装linux,还要看guest OS guide,记住不要选Virtulization Option (为什么?guide上这么说的,不看就不知道,相信你也是用不到的)
    3.还有一些上面的known issue也要注意,比如SMP或者PAE的问题。
    4. 安装linux时选择default安装,不要多选,原因在上一篇已经说了,这是一种best practice
    5. 配置网络,create一个new VM的时候就会选网络类型,相信大家都用NAT方式,不错,它最简单,虚机也能上网。如果有人不会,还是看Workstation User Manual吧,我的文章里也有。
    6.安装vmware tools。这时我的麻烦来了,出现了找不到kernel header文件的问题。请follow这篇文章:
    http://topic.csdn.net/u/20080510/01/2DEC8636-32B3-4B26-83A9-18AD327091E7.html
    第五楼的做法。

    简要说来,就是:
    1) uname -r检查linux内核版本
    2) http://www.kernel.org 去下载自己内核的source文件,有时不能找到完全一样的,前面的大版本对了就行,我的uname -r 是2.6.18-92.el5xen,我下载的是2.6.18.8即可。
    3)拷到/usr/src下并解压,tar -zxvf ...
    4)进入<kernel_version>,编译
    make mrproper
    make oldconfig
    make
    5)还是乖乖的等待编译都完成吧,我承认这时间很长,大概1个半小时吧,但人总的有点耐心,不是?
    6)进入<kernel_version>/include/linux路径下,修改文件utsrelease.h,将里面的版本号设置为2.6.18-8.el5xen,再修改version.h,增加一行#define UTS_RELEASE "2.6.18-8.el5xen",保存退出。
    7)这时再配置vmware的pl文件即可。vmware tools安装结束。重启虚机


    7. 在虚机和宿主机上共享目录.这个功能只有vmware tools安装好之后才可以用。share的好处是你不用把所有的installer和大文件拷到虚机里面占用空间,虚机里自动mount上后就可以访问宿主机的指定目录。
    8. 配置ftp,还是熟悉的vsftpd,过程不说了,很简单。安装包如果没装,在虚机里面application -> Add/Remove software里面add一个new repository, 把光驱的路径写好,从光驱里面安装。注意用setup命令 disable掉防火墙,如果安装linux时候没disable的话。
    9.如果嫌敲打命令会有beep音的话,follow我的消除beep音这篇文章。
    10. 如果时钟不同步的话,参考如下文章:
    http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1006427
    http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1227
    11.安装额外的软件,比如firefox3.5
    默认的firefox是3.0beta5,很不方便,不能用最新的add-on,在linux上访问firefox主页下载3.5的安装包,是一个.tar.bz2的文件, 建个新文件夹,叫firefox3.5,然后拷到其下,tar -xjvf解开,把默认的firefox的link删掉, rm -fr /usr/bin/firefox,然后再建个新的,ln -sf /usr/share/firefox3.5/firefox /usr/bin/firefox,就ok啦!

    基本就到这,以后也许再补充
  • 任何事都不简单,做任何事都要提前计划

    2009-08-11 14:35:43

        有的时候,一件简单的事情你都不能一次搞定。而浪费的时间,就是你工作的能力不强的表现,是你要交的学费,也是你加班的原因。
        比如来说,装一个linux,现在都很简单了,GUI的界面,NEXT,NEXT,NEXT似乎就能搞定-我直说安装,不包括配置。但是仍然会有很多的潜在陷阱让你返工,仍然会有你意想不到的问题会让你重装浪费时间。如果你和我说,因为XXXX和XXXX原因,你一天就装了这么一个linux,我只能说你在消极怠工,或者工作能力太差。
    其实,任何事都不简单,起码不像你想象的那么简单。以下我说的东西,都不在linux的安装文档中,你认为你看了官方安装文档后你就可以胸有成竹了吗?其实,有很多现实的事情需要我们注意。
        哪里会有问题呢?
        首先,从头来说,假设你的光盘是网上下载的,那有可能下载有问题。你的习惯是下载完了直接刻盘吗?你有验证MD5SUM的习惯吗?别告诉你不知道什么是MD5SUM。
        其次,刻出来的光盘可能有问题。如果你图快,不验证光盘数据直接安装,装到一半数据读不出来了,你不得不重新刻盘,浪费盘不说,时间又浪费了。尤其是公司中共用的光盘,经常磨来磨去,难免不坏。没准上次人家用的还好好的,结果到你这里就不行了。
        第三,你的光驱一定没问题吗?现在公司的机器都是很老式的,如果光头老化,读盘很慢,影响速度,最后读不出来,那还是你的问题。 不要和我说,那是光驱的问题,不是我的问题,领导让你装,就是让你全权负责,你装不出来就是你的问题,没有借口去赖别人的问题。何况它是死的,人是活的,你去赖一个死东西,你丢脸不丢脸啊?当然,第二步验证光盘的时候也能验证光驱。
        第四,你是习惯一次把所有软件包都装上呢?还是习惯用默认设置,之后再单独安装呢?如果你是菜鸟,对linux了解不多,你很可能倾向于一次全部安装,这样起码省事啊,是吧?以后用的时候不会因为少什么包而出错误,起码出错误也赖不到我安装者的头上。但是,你想过这样做的潜在风险吗?全部安装意味着更长的安装时间,更长的安装时间意味着出错误的概率更大,光驱读盘的错误,数据文件的错误,光盘介质的错误。每一个文件都要准确无误的复制上去,这样出错的概率更大。而一旦有某个包在安装过程中读不出来,retry半天也出不来,你还有什么办法呢?当你发现这个包其实是个附属的包,本来可以安装后再装的,或者装不装都行的,到时候你就很郁闷了。时间又浪费了。 正确的方法是,保持默认属性,或者最小安装设置把系统迅速的装上,然后在linux下再安装缺失的软件包。这样即使出错,大不了那个包装不上,系统仍然是可以用的。很多时候你装系统的时候某个包装不上,但系统装好后再单独安装,它却是可以装上的,甚至你甚至可以上网找那个包。这样做还有一个好处,你再向领导汇报的时候,起码你是有进展的,你不是总处于0的状态。系统装好,80%的工作已经完成,剩下的个别包的事情你装不好都可以让人帮助你,但如果系统总是由于某些原因装不上,admin也没办法,你的进度总是0,领导会让你很难看。
        第五,及时备份。用vmware的take snapshot,用普通机器的用ghost。这种东西平时看起来浪费点时间,真正恢复起来你会觉得很方便。因为,很多时候,你没有能力解决某些问题,因为你是tester,但你可以选择绕过这个问题,用备份把它恢复了。
        做任何事情,如果你没有计划,如果你是菜鸟,那你可能为每一条都要交过学费,关键是,交了学费后,你记住了吗?这么简单的事情,你能保证下次一次做对吗?
        我这里所说的只是安装之前的准备工作,它不能代替阅读安装说明的prerequisite注意事项,那些在官方文档中已经很多了,不再赘述。
  • 关于职业与薪水

    2009-07-15 00:13:22

        做测试这行的,其实涉及的东西很杂,也很泛泛,很难对某种技术有深入的了解,大多只是知其然,而并不知其所以然。这是行业的特点,但也是限制我们发展的制约因素。
        我相信大多数人都会碰到这个问题,在做了几年tester之后,如何进一步提升自己的价值?说白了如果挣更多的钱?在公司中,薪资是和职位相对称的,给普通tester做的薪酬肯定和senior tester不一样,但能升到senior难道只能靠熬年头吗?如果跳槽,你打算在简历中怎么写?你认为你把你用过的东西、接触过的技术都写在上面,洋洋洒洒的写一大堆,会增加你被录用进而加薪的几率吗?
        能做到管理层的人毕竟是少数,更多的人还是做技术,既然是做技术,就必须有要深入下去的某一项或几项技术领域,在这些技术领域中你是大拿,没有人比你更清楚,更熟悉。实际上要达到这个水平不一定非要做开发,现如今分工很细,做测试,专注在某一项领域上,仍然可以做的很深。比如自动化测试工具开发,比如某种测试工具的二次开发或定制,在某些技术领域有深入掌握,比如Linux,Oracle,SOA, web 2.0等等,专注在某一项领域中,哪怕在某一项具体产品中,只要你认真的、踏实的学习,深入的理解这种产品能够给客户带来的价值,能够宏观的而不是拘泥在某个细节上把握产品的特征,你都是人才,你都会有很好的发展。如果你和我说,我就是做tester的,我接触不到那么宏观、那么大局观的东西,那么,你就在某种技术上发展。我相信你会用到Windows,你可能还会用到Linux,你会用到某种数据库,你可能还会用到一些应用服务器、一些中间件产品或者,在这中间,有你感兴趣的东西吗?如果一样都没有,你对软件工程感兴趣吗?你对质量保证(QA)感兴趣吗?你对测试方法论感兴趣吗?
        有人说,每天的工作重复性太强,没有技术含量,没有时间沉淀,就是在不停的赶进度。我说,这是现实。如果你做了PM,你也会这样安排你的组员这样做,因为有deadline,因为要对客户负责。而你自己学习的时间在哪里呢?在每时每刻,在下班的回家路上对一天工作的回顾中,在回到家自己的学习计划中。这些时间都是挤出来的,没有人逼你,你也可以不学,但如果你想每天都比昨天有进步,你想在经济情况不好的大环境下仍然能够跳槽自如,那你就要这么做。
        实际上,无论做测试还是开发,学习的长期持久性是不会变的。除非你不做技术了,并且以后也不打算回来了,否则永远你要学习下去。而你的薪水,是一个长期学习沉淀的最终反映。刨除非技术因素不说,你的工作年限决定薪水,你的面试表现决定薪水,你的各种资质间接决定你的薪水。这些都不是一朝一夕能够达到的。你只要想想,如果你对某一种技术只是了解,只是含含糊糊能说出个大概,在面试时候你能应对自如吗?你没有一桶水你能舀出一杯水吗?
        至于如何学习更有效,我想以后再谈,这次只强调学习的长久持续性和薪水的关系
  • 最近的事情

    2009-07-12 22:37:56

    最近有这么一些事情:参加研究生学位授予仪式,穿学位服照相,完成硕士生的最后辉煌时刻;参加院级的结业典礼,拿到结业证并得到优秀班干部的荣誉;在工作中发表的文章获得WebSphere征文大赛三等奖。
    这些看起来是一些好事情。但现在的我确能很冷静的看待这些所谓的荣誉。其实它们并不是什么很难得的价值,我自身的缺陷没有得到修正。

    而生活的压力、对未来生活的规划却变得越发清晰起来。

    也许,明年我就要离开这个生活了27年的家庭,开始自己的生活,在另一个家。这才是挑战。买房是一个无法回避的事情。也是一个对她来说等不起的事情。

    人际网,关系,圈子,这些词语开始进入我的生活,我开始重视这些东西,而不是像原来那样傻学技术。王辉耀的那本书确实给我很多的启示,有时,它给我带来的 实际价值比李开复的书更有励志意义。其实不管你崇拜谁,只要你心里一直在上进,在想方设法希望自己未来的路更宽更广,人生更有价值,那它就是值得拜读的。

    要学会利用你的优势。没有人比你自己更清楚你比别人强在哪里。

    面试的机会我一直在争取,不过我已经看淡了各种各样的拒绝理由:只招收应届毕业生、只接受regular transfer、只招收实习生等等…… 总有一个机会会在未来的某一个地方等着我。

    不过至今还有一个重要问题还没想清楚:我是应该坚持转方向还是在现有的方向深入下去?这涉及到职业发展规划,利弊得失均很难说清,甚至涉及到魄力和兴趣爱好的问题。以后我想清楚再来谈。

    对于潘院长的“研究的研究”,我一直是充满了兴趣,正如他所说:“研究能力才是CEO、CIO我们最重要的能力”,而不是具体某个产品或特定的技术。将严谨性、完整性、系统性以及主次分明、重点突出的研究方法带入到IT知识领域的学习中,甚至是圈子的建立中,都是一种强有力的武器。


  • 消除window打错字时的beep音

    2009-06-29 23:38:29

    windows在打错字的时候经常会有beep音,吓人一跳,网上找了一个解决方法,做个记号:
    http://support1.ap.dell.com/cn/zh/forum/thread.asp?fid=25&tid=67715
  • 关于fstab的修正

    2009-04-28 23:41:26

    今天搞linux下安装硬盘,在vmware里add了一个虚拟硬盘,然后格式化、分区并安装文件系统,步骤如下:
    1. fdisk /dev/sdb
    进入后new一个,接受默认cylinder起止值,然后print一下没有问题,显示新分区为/dev/sdb1,write下来
    2. 如果提示重启系统,则reboot,否则不需要
    3. 分区类型设置为ext3:
        mke2fs -j /dev/sdb1
    4. fsck一下
        fsck -f /dev/sdb1
    确保无误
    5. 创建挂载点:
        mkdir /home1
    6. mount
        mount /dev/sdb1 /home1
    7. 此时安装过程已完成,通过df -k可以看到新分区已经mount上。不过还需要将其加入到/etc/fstab中做到启动时自动mount。模仿着其他已存在的分区将其写入

    这时我犯了一个错误,fstab文件中的内容被写错,reboot系统后linux提示fstab中有错,进入修复模式。但是这时问题来了,由于/ 根分区出于安全考虑,linux默认将其mount为read-only,导致我不能修改fstab文件,非常郁闷,后来还是以读写模式重新mount /才可以:
    mount -o remount -w /
    这时/才是可读写的,修正/etc/fstab后重启,问题消失


    记录:
    以可读写方式mount /分区的方式是系统修复时的常见操作,否则一切修改都无从谈起。
  • AIX VNC setup

    2009-04-03 15:16:27

    1. 下载VNC for AIX
    虽然标明是for AIX51的,但AIX53和AIX61仍可用。

    2. 安装RPM:

    rpm -Uhv vnc-3.3.3r2-3.aix5.1.ppc.rpm

    3.编辑配置文件:

    # which vncserver
    /usr/bin/X11/vncserver

    #chmod 777 /usr/binX11/vncserver

    vi /usr/bin/X11/vncserver

    更改前:

    # $cmd .= " -fp /usr/lib/X11/fonts/misc/,/usr/lib/X11/fonts/75dpi/";
    更改后:

    $cmd .= " -fp /usr/lib/X11/fonts/,/usr/lib/X11/fonts/misc/,/usr/lib/X11/fonts/75dpi/";

    即加入"/usr/lib/X11/fonts/"部分

    更改前:

    $vncClasses = "/usr/local/vnc/classes";
    更改后:

    $vncClasses = "/opt/freeware/vnc/classes";

    更改前:

    $cmd .= " -auth $xauthorityFile";

    更改后:

    $cmd .= " -ac";

    4.启动vncserver

    #vncserver
    输入密码
    得到端口号

    5.使用windows vncview访问,加端口号

    访问成功

    6.使用CDE界面

    #vi ~/.vnc/xstartup

    将所有行注释,并加入:

    /usr/dt/bin/dtsession &

    7.测试

    #vncserver -kill :1

    #vncserver

    重新使用vncviewer访问,可看到CDE界面

    参考:

    http://nix4all.com/content/how-install-vnc-server-aix

    http://www.aixtips.com/AIXtip/vnc_setup.htm

    附件:

    由于网站不让上传rpm格式,windows下压缩成zip,使用时解压。

  • 关掉vmware和console的beep

    2009-03-07 13:42:27

    禁止VMware发出的BEEP声音

    更改VMware的配置文件config.ini,如果是在windows上安装的,可以在路径:“C:\Documents and Settings\All Users\Application Data\VMware\VMware Workstation”下找到,并加入如下行:

    mks.noBeep = "TRUE"

    注意:需要重启vmware workstation才能生效。如果写法有错,启动虚拟机时候会提示。


    禁止linux console发出的BEEP声音:

    以redhat为例,打开一个console,菜单中 edit -> current profile,在第一页General中取消勾选"Terminal Bell"即可


  • 为虚拟机添加硬盘空间

    2009-03-07 13:21:35

    Vmware有自己的硬盘管理工具,其所在位置是/vmware/vmware workstation/,名称为vmware-vdiskmanager.exe,具体的参数及命令格式可以参照帮助文档。可以在VMWare的machine seetings中添加一个新虚拟磁盘,指定大小后即可。

    在虚拟机种加载上面添加的硬盘空间

    添加硬盘空间成功之后,启动虚拟机,并以root用户登录,随后执行如下命令:

    #fdisk /dev/sdb ,之后,将进入fdisk模式:

    Command (m for help):

    在该模式下,可以通过输入m查看所提供的命令选项,再次我们输入n,表示创建一个新的分区。

    Command (m for help):n //创建新分区 ,命令的执行结果如下:

    Command action

    e extended

    p primary partition (1-4)

    此时可以有两种选择,输入e表示创建扩展分区,输入p表示创建主分区,后面的1-4表示总共可以创建4块主分区,其中有的应该已经存在了。在此我们输入p来创建主分区。这里我实验过创建extended分区在格式化时候总有问题,因此建议创建primary。输入之后产生如下提示符:

    Partion number(1-4)2

    在此输入一个数字(1-4),表示你想创建的分区号。注意有的分区应该已经存在,要输入尚未存在的分区号。例如2。输入之后的结果如下:

    First Cylinder(1-1014,default 1):

    这里是要求输入分区的起始位置,在此按照默认值就可以了。

    这样我们就成功创建完一个分区。

    创建完后用w保存分区。

    Command (m for help): w

    The partition table has been altered!

    Calling ioctl() to re-read partition table.

    Syncing disks.

    对分区进行格式化

    上述步骤结束之后,新的分区依然不能使用,我们还必须进行格式化,格式化的命令如下:

    #mkfs -t ext3 -c /dev/sdb2 //这里的sda3是你刚创建的分区。

    随后将创建的分区挂在到某个目录下,例如,挂在到/home/new目录下:

    #mount /dev/sdb2 /home/new   //new目录必须存在

    之后,用df命令就可以查看刚刚创建的分区了。



    参考:  http://blog.chinaunix.net/u2/81480/showart_1333851.html

  • 错误#1520 External attribute header mismatch.的解决办法!

    2009-02-22 15:47:48

        今天想装了虚拟机的Solaris,装时才发现D盘空间不够,而E盘空间够,想从E盘挪一些空间过来。这个邪恶的想法又产生了:使用PQ!
        在用之前知道有风险,而且上次吃过亏,这次仍然愿意铤而走险,不备份数据。原因是没有非常重要的数据了。可是PQ仍然不能一次完成,仍然让我出一身冷汗。
        使用PQ Magic8从E盘挪一些空间给D盘,重启windows时执行批处理操作,但发现D盘空间并没有增长,而E盘丢失的空间被认为是一个未分配的空间。准确的说PQ并没有完全成功,只完成了一半。不过没关系,我手动创建一个新分区,然后用PQ的空间合并功能,但PQ报错,出现"错误#1520 External attribute header mismatch." 这下惨了,D盘不见了!
    后来上网一查,发现这个问题经常遇到,解决方法如下:
    1. 首先不要惊慌,这个问题是能解决的。不要乱动其他的东西,并且关闭所有的应用程序。
    2.重新启动PQ,在PQ中是能看到这个分区的,但没有盘符,首先给它分配一个盘符。这时这个盘就能访问了。
    3. 用dos进入这个盘,执行 chkdsk /F,选择Yes,让windows完成磁盘扫描并修复错误。
    4. 为保险起见,可以在PQ中再检查一遍。
    5. 重新执行PQ的分区合并功能,这时应该就没问题了。

    总结:用PQ的时候,首先要保证关掉所有的应用程序,这时不会出现读写访问被拒绝的情况,其次要对硬盘执行操作时,最好手动先chkdsk /F一下扫描有无错误,这时成功率才会高。当然,重中之重在于要备份所有重要的数据!备份,备份,再备份!

    参考文章:
    http://hi.baidu.com/tomosawa/blog/item/06e591383982ef2697ddd8a5.html
  • AIX下用户的环境变量

    2009-02-16 17:35:09

    今天弄AIX,想在系统登录时自动设置环境变量,可是修改了/etc/profile文件没用,后来才发现,默认登陆的shell是ksh,而ksh的环境变量脚本是.dtprofile,修改了它,就ok了。虽然/etc/profile是最开始的脚本,但不知道为啥export总是不管用。。
  • 关于STAF sample的 90 incompatible with Text-specific LCD contrast key错误

    2009-01-29 10:43:14

    STAF启动后,运行samples下面的STAFDemoController,环境变量已经加到CLASSPATH中去了。结果报如下错误:
    E:\STAF\samples\demo>java STAFDemoController
    Exception in thread "main" java.lang.ExceptionInInitializerError
            at javax.swing.JPanel.updateUI(JPanel.java:109)
            at javax.swing.JPanel.<init>(JPanel.java:69)
            at javax.swing.JPanel.<init>(JPanel.java:92)
            at javax.swing.JPanel.<init>(JPanel.java:100)
            at javax.swing.JRootPane.createGlassPane(JRootPane.java:527)
            at javax.swing.JRootPane.<init>(JRootPane.java:347)
            at javax.swing.JFrame.createRootPane(JFrame.java:260)
            at javax.swing.JFrame.frameInit(JFrame.java:241)
            at javax.swing.JFrame.<init>(JFrame.java:208)
            at STAFDemoController.<init>(STAFDemoController.java:43)
            at STAFDemoController.main(STAFDemoController.java:20)
    Caused by: java.lang.IllegalArgumentException: 90 incompatible with Text-specific LCD contrast key
            at java.awt.RenderingHints.put(RenderingHints.java:1057)
            at sun.awt.windows.WDesktopProperties.getDesktopAAHints(WDesktopProperties.java:293)
            at sun.awt.windows.WToolkit.getDesktopAAHints(WToolkit.java:925)
            at sun.awt.SunToolkit.getDesktopFontHints(SunToolkit.java:1882)
            at sun.awt.windows.WDesktopProperties.getProperties(WDesktopProperties.java:230)
            at sun.awt.windows.WToolkit.updateProperties(WToolkit.java:880)
            at sun.awt.windows.WToolkit.lazilyInitWProps(WToolkit.java:832)
            at sun.awt.windows.WToolkit.lazilyLoadDesktopProperty(WToolkit.java:821)
            at java.awt.Toolkit.getDesktopProperty(Toolkit.java:1746)
            at javax.swing.UIManager.<clinit>(UIManager.java:388)
            ... 11 more


    解决方案:
    由于我没有安装ClearType,因此网上搜索到的ClearType解决方案对我无效。解决方案为:
    桌面右键->属性->外观->效果->使用下列方式使屏幕字体的边缘平滑,如果你选的是“清晰”,把它改成"标准"即可。
  • NND,又犯傻了

    2009-01-25 11:13:28

    今天早上发现不能上网了,但是可以得到IP,联想到昨天一直整vmware,会不会vmware的VMNet1, VMNet8对我的网络设置有影响呢,来回整了半天无果,竟然想到了给歌华打电话,问问是不是大年三十网关down掉了,因为我ping不通网关了。后来才发现原来我是设成静态IP了,KAO 改成动态IP,马上恢复正常了。
    NND 原来上不了网是得不到IP,那确实是歌华DHCP服务器的事,现在有IP了还上不了网,刚开始就犯晕了。。
  • 关于vmware中linux cannot mount local file system的问题

    2009-01-25 11:05:17

    这个问题还是比较好解决的,在虚拟机的设置中enable shared folder即可。右键点击虚拟机-> Setting -> options -> shared folder,看看是不是disabled的,默认是disabled的。enable它,在宿主机new一个空文件夹,在shared folder向导中选中它,完成,重启虚拟机即可
    可以参考这篇文章
    http://www.x5dj.com/Blog/00550659/00479112.shtml
  • 关于vmware workstation中linux的网络设置

    2009-01-24 19:15:23

    本来没有关注在vmware方面,但是苦于没有第二台PC,又想学STAF,可是单机的STAF完全无法深入学习,所以只好去弄vmware了。看了很多关于vmware上linux FTP设置的问题,都是相同的抄袭,所以只能自己搞了。结果一搞就是一个下午。
    最后还是体会出那个道理:对于一个没学过的东西,从头开始弄,还是要规规矩矩的看文档,一点弯路都绕不得。想google一下找个文章抄一下,是不现实的,而且没有一个完全一样的guide可以follow。在学习的过程中,还会体会到乐趣。这篇文章不会完整的介绍ftp的搭建细节,只是一个大致的思路。
    1.把vmware workstation装好,重启机器,保证VMnet1,VMnet8都连接上。系统service中VMWare DHCP Service,VMWare NAT service running
    2.关于VMWare 客户机和宿主机网络连接方式的问题:原先我一直设置的是Bridged,后来发现这种方式得不到一个外网的IP,而且想了一下,其实我只需要在客户机和宿主机之前连一个小型局域网,客户机不需要一个外网IP。因此后来换成了NAT方式,这样客户机linux的可以得到一个192.168.x.x的ip,当然这个IP是需要宿主机的VMWare DHCP服务分配的。
    3.将VMNet8和VMNet1的IP地址设置为DHCP。其实这一步我并不清楚是否必须,但是这样做我起码成功了。
    4.将宿主机linux的IP地址设置为manual,其中要写对gateway。而gateway的地址在宿主机是空的。查看gateway的方法是:VMWare Edit -> Virtual Machine setting -> NAT, 下拉菜单为NET8,点击EDIT,得到IP地址是192.168.81.2.其实后来看vmware文档说gateway的地址后缀被保留为.2。将这个IP地址填到虚拟机linux的IP地址中。
    5.端口映射。这是最关键的一步。端口映射的目的说白了就是当一个外部的请求发送到虚拟机中时,将外部请求的指定端口映射到内部虚拟机的指定IP和端口号上。对于我想设置的FTP服务来说,需要映射的端口号是21.还在刚才查看gateway地址的界面,点击Port Forwarding。在Incoming TCP ports中填入Host port:21,virtual machine IP address:<虚拟机IP>, port: <21>.
    这样应该就可以了。其实我又把下面的Incoming UDP ports也填入了相同的内容。
    点击OK完成后应用。这时需要把NAT Service重启一下。可以在Vmware中重启,也可以直接在windows服务中重启。必须保证这个服务可以重启正常,否则建议重启计算机。
    6.在虚拟机linux中配置vsftpd。具体配置方法就不说了,Google一下很多。设置好后可以在linux虚拟机上执行ftp <IP>试试是否成功
    7.在宿主机使用ftp工具连接,成功!

    这里主要的难点就是:
    1.注意使用NAT方式
    2.了解端口映射的目的和作用
  • 我的51testing开题啦

    2007-10-03 12:38:09

    以后我会把自己的对于测试的感想和技术不断发布在这里,希望大家支持
Open Toolbar