|
|
|
|
September 24 终于搞好了ubuntu下的cisco vpnclient...
vpnclient can be downloaded form: http://www.cs.uu.nl/technical/services/vpn/
但是并无法直接编译,因为这些版本并不兼容2.6内核的header文件 所以还需要一个patch文件 http://www.victortrac.com/cisco_vpn_patch
虽然有warning,但是毕竟可用了......
June 22 google的note很好用,
问题是有时候用不了...
那存在的,都是幻影;那永恒的,终将毁灭;世界万物,缤纷色彩,都是被蒙蔽的人心罢了。终有一日,天上人间,青山绿水,存在只依我心!
重要的不是你在一条路上跑得比别人快,而是在于你选择的是一条正确的路.
June 05 rt...
试图搜索一个license,
但在google上找到的只有木马病毒......
尝试反编译了一下它的某class文件....
于是自己写了个license文件......通过....
然后又有另一个插件需要注册,
反编译后取得了它的注册码验证的代码块,
生成注册码... March 13
因为短暂才会想要不朽,
因为卑微才会想要权利,
因为软弱才会整天叫嚷着:
“我们要掌握自己的命运,我们要改变自己的命运!”
命运是什么?
你所能够改变的和不能改变的,
你所能选择的和你无法选择的都是命运。
那些两腿站的生物们认为:
对抗命运征服命运才是强大的表现!
结果到头来无非是自寻烦恼。
所以强大起来!孩子,
你会明白我所说的......
Java "class"-ic errors Few errors are so common (Frequently Faced Errors or FFEs?) - asked many times in forums, email lists (internal/external) - and it is frustating to face one of these "starting problems". I am talking about the classloading errors with Java. I'll try to list few common errors and most probable reasons.
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
Two possible reasons:
- You are trying to run 64-bit JVM (SPARCv9 or AMD-64) with -d64 option. But, you did not install 32-bit JVM. Yes, to run 64-bit JVM you have to install a 32-bit JVM and then install 64-bit binary on the same directory
- You are playing with -Xbootclasspath option (why? - in most scenarios it is wrong!) and you didn't include rt.jar in boot class path
Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file
(or)
Unsupported major.minor version 49.0
Reason: You are trying to run a class compiled with newer version of JDK. For example, you have compiled the class with JDK 5.0 and try to run on JDK 1.4.2. Class file major/minor version evolves with major JDK releases. Each JDK version supports only upto a specific class file major.minor version.
- Java SE 6 class file version 50.0 or below
- JDK 5.0 class file version 49.0 or below
- JDK 1.4.2 class file version 48.0 or below
While you can run a .class file compiled with past release of JDK, the other way around does not work. You can use javac's -target option. Also, always check version of "java" used to run your program by using -version option.
Exception in thread "main" java.lang.NoClassDefFoundError: tmp/t (wrong name: t)
Reason: The class name as in .class file is different from what is specified in command line. In the above error scenario, the .class file has the name "t" (in unnamed global package) but user attempted to load it as "tmp.t" (t in tmp package). You have to check package declaration in your source files and confirm that the files are under proper subdirectories (use javac's -d option to put .class files under correct subdirectories). Also you may want to check directory, file name case -- remember to do this on case insensitive file systems as well. It is better to use jar files whenever possible (rather than directories)
Exception in thread "main" java.lang.NoClassDefFoundError: x
This is good (bad?) old error! It is better to check
- the value of CLASSPATH environment variable
- the value passed as -classpath or -cp option
- check that proper path separator (; on Windows, : on Unix - it is easy to miss or use wrong separator for your OS) is used in your classpath specification
- Remember that "." (the current directory) is included by default in classpath - but if you have specified CLASSPATH, then that overrides. i.e., With CLASSPATH specified, "." is not automatically added to classpath.
- With Mustang (Java SE 6) you can put all your all jar files in one or fewer directories and use classpath wildcards to avoid typos in jar file names.
- When in doubt, check again before posting to forums
Yes, typos are quite common
When you are out of starting troubles, you may still face other classloading issues. "unexpected" class is loaded etc. How can you debug that?
- Turn on -verbose:class. This prints debug info on each class load. The source of the class file loaded (rt.jar , foo.jar) is also printed along that.
- Check your configuration. There are many ways to pass arguments to running JVM. (command line argument, environment variables, config files of app/web servers). You may want to check what actual arguments were "seen" by the JVM. You can check these using
- jps
- jinfo
The value of the System property java.class.path is the application classpath used. Similarly, the value of the System property sun.boot.class.path is value of bootstrap class path (Sun specific). March 11 -Xmx1024m -Xms640m -Xmn320m -Xss200k -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=60 -XX:MaxPermSize=200m
调成这样了,
之前使用默认的GC在FullGC时有长的停顿,会导致server长达100多秒的挂起。于是寻找其它垃圾回收策略。 1。要避免在已经占用了大量内存的情况下才开始GC,那会导致对大量内存数据的处理,不可避免地出现暂停,考虑降低Xms值。
2。考虑选用一个更积极的垃圾回收策略,在系统内存还不缺乏的时候就能开始FGC; 3。选用不暂停或者短暂暂停jvm的垃圾回收策略。
在JDK1.5平台上,符合以下两个条件的机器被认为是服务器(server-class machine)
1. 2个或者2个以上的物理CPU
2. 2G或者2G以上的物理内存
在服务器上,默认采用了以下参数
Throughput garbage collector
Heap sizes
initial heap size of 1/64 of physical memory up to 1Gbyte
maximum heap size of ¼ of physical memory up to 1Gbyte
Server runtime compiler
对一个2G的服务器,相当于默认的xms=32m,xmx=512m,且已经使用了 -XX:+UseParallelGC
参考了sun的文档,
一方面加大了newsize,减少了Xms,
使用了The Concurrent Low Pause Collector
效果不错...
但是觉得使用ParallelGC再调整其他参数应该也能避免长暂停... February 24 需要使用JDK5.0
file:jstatd.all.policy
grant codebase "file:${java.home}/../lib/tools.jar" { permission java.security.AllPermission; };
start jstatd
./jstatd -J-Djava.security.policy=./jstatd.all.policy
会启动一个rmi监听。
January 10 在任意一个以php解析的网址,去掉参数附加下面的字串:
?=PHPE9568F36-D428-11d2-A769-00AA001ACF42 备案.
- [Google; 操作系统; 微软] Google会不会做操作系统? #
“我们必须观察这些家伙,看上去他们在做些能跟我们竞争的东西”,盖茨这么跟自己说,也这么跟Fortune的Fred Vogelstein说。毫无疑问,这个酝酿了有两年的事情,最近一定应该有些结果了。毫无疑问,那将是一个简单、易用、低价、高度开放性的产品。毫无疑问,紧张的不会只有Gates,还有苹果和Dell。
- [.NET开发; ajax] ASP.NET 调味品:AJAX #
使用 AJAX 的应用程序更难于维护吗?答案主要取决于您已经使用的 JavaScript 的数量,以及您组织和维护它的好坏程度。很多开发人员认为 JavaScript 难于编写、测试和调试(不是因为 JavaScript 本身,而是因为工具支持和开发人员的知识)。如果您当前正在使用 JavaScript 实现链接的下拉列表,并切换到 AJAX,您的代码可能较为容易维护(Ajax.NET 对 .NET 类型和数组的支持是重要原因)。但是,如果您使用返回方式来实现,现在您将向您的应用程序 (JavaScript) 引入崭新的语言。您将必须处理这样的情况:存在某些不参与 ViewState 的数据(这一点我们在按钮单击事件中可以看到)。
- [计算机图书] 一个知名出版商的挫折——解读 Wrox 的历史、现在与未来 #
收购 Wrox 的是东家是大名鼎鼎的 John Wiley ,该出版社 历史极其悠久,始建于 1807年,最开始它以出版美国文学巨匠(如欧文、爱伦坡)的著作闻名,进入20世纪后,则确立了其在科学和信息技术领域的出版领导者地位。现在每年出版大约2000余本图书或电子书,所涉及的领域包括科学、技术、医药类零售图书和各种教材以及期刊等。Wrox归属于John Wiley这个百年老字号,应该是值得广大喜爱Wrox红皮书的读者欣慰 的。虽然, Wrox 与 John Wiley 之间的磨合还有待时日,但是 Wrox 的优势和出版理念与 John Wiley 的优势和出版理念有机地结合起来之后,一定产生更大的能量,释放出更多的优秀作品。
- [ajax] Ajax对构架影响的思考 #
我认为Ajax根据对于构架的影响程度,可以分为两种,工具包型和框架型。1,工具包型:为通用的Web开发方式提供一系列Toolkit来获得Ajax的优点,但是不影响软件的构架以及现有的WebUI 的框架(如ASP.NET),以及开发人员在Web开发方面的经验。如:MagicAjax和zumiPage。2,框架型:提供了另外一种Web开发的框架,对软件构架有比较大的影响,可能需要开发人员有比较强的脚本技能。比如:Altas和AjaxAspects。工具包型一般不需要开发独立的Service给Ajax使用。而框架型实际上把Ajax作为实现Rich Internet Application的UI的技术,这样就需要有Service的支持。框架型Ajax更类似于Flex这样的框架,区别在于Ajax是使用JavaScript开发,运行于Browser;而Flex(Laszlo)使用特有的语言开发,并运行于Flash Player。
- [微软; Joel; api] 微软是如何输掉API之战(下) #
我自己真的是对此有点伤心。对我来说,Web很棒;但是,基于Web的软件反应慢,用户界面不统一是对日常稳定操作的一大退步。我爱我的富客户端软件,而且当我需要去使用这些软件的Web版本的时候,我会呆掉的。我每天使用的这些 软件有:Visual Studio,CityDesk,Outlook,Corel PhotoPaint,QuickBooks。 但,这些却是程序员即将要带来给我们的。没有人(我再重复一次,没有人意味着少过一百万人)会再使用Windows API做开发。风险投资商不会给做Windows应用程序的公司钱的,因为他们担心来自微软的威胁。并且,绝大多数用户不像我这么在意蹩脚的Web界面。所有的这些兆头都对微软不妙,它无法再从API垄断上获得巨额利润了。新的API是HTML,而市场的新胜利者将会是那些能玩转HTML的人。
- [微软; Joel; api] 微软是如何输掉API之战(上) #
在微软内部有两股相对的势力。我把随意把他们叫做陈•雷蒙德帮(陈雷帮)跟MSDN杂志帮(杂志帮)。 经过VB的胜利之后,杂志帮已经掌握了主导权。突然之间,技术变革成了可以可以接受的事情了。IIS 6.0新的线程模型对旧应用程序说了拜拜。当我发现Windows Server 2003的用户使用FogBugz时会出现问题的时候时很震惊的。还有,.Net 1.1也并不完全兼容1.0。现在,一切都真相大白了。微软操作系统的开发团队受杂志帮影响,他们不再往旧的Windows API做修补增强,他们选择了用新的玩意将其完全替代。Win32的平台已经是历史了,开发者现在需要考虑的是WinFX平台了-这是一个全新的 Windows API。所有的事情都变了,现在都是基于可托管代码的.Net、XAML、Avalon。是的,这些东西比Win32的强大了很多,我承认这点。但是,这并不是一个升级,而是一场抛弃过去的革命。
- [Google; 计算机图书] Google Hacks #
对于Google,有很多东西是一般用户所不了解的。看起来简单、明了的Google界面掩饰了它下面深藏的Google索引、引擎的源动力和搜索语法的灵活性。Google Hacks义无返顾地潜入到深层的Google世界中,最大程度地挖掘了Google的潜能:挖掘信息而不仅是搜索,执行有效完成工作的任务,使用Google API自动执行复杂或者重复性的工作,想尽办法挖掘出每个搜索结果的价值。考虑到超过80亿个网页,Google索引的规模已经是“Google Hacks”第一版出版时的四倍了。既然Google发展的这么快,本书也同样要发展,以收录进新的Google服务和用于原有功能的新hack程序。除了将过去的内容完全更新和重组外,这本“Google Hacks”还将继续给用户提供很多令人叫绝的Google技巧。本书适用于从事互联网搜索的科技工作者以及广大的电脑爱好者阅读。
- [ajax] 使用AJAX的十大理由(译文) #
保守来说,AJAX在现在是热得不能再热的技术。没有人能否认,它拥有大批的支持者。在CNN上,它从二月份的一个不被看好的词语到十月份成长成一个初具雏形的技术。所以,有必要要看看为什么AJAX能发展成为现在的样子,为什么它能不断成长,并且在短的时间内迅速变得无处不在。所以,我用午夜谈话的风格,来给出 需要AJAX技术的十大理由。
- [ajax] AJAX:开发者新的一天 #
虽然大部分开发人员在过去使用过XMLHttp或者使用Iframe来加载数据,但仅到现在我们才看到传统的开发人员和公司开始采用这些技术。就像新的编程语言或模型伴随着更多的痛苦,开发人员需要学习新的技巧及如何最好利用这些新技术。这篇文章讲述了开发人员使用AJAX需要使用的工具和技术。
- [C++; 标准] C++0x : C++正在酝酿下一次自我完善? #
C++09能给我们带来什么, 这是C++程序员最关心的. 文中谈到了C++委员会这次对标准的修订的目标依然是让C++可以被更轻松的学习和使用, 同时, 他指出: “当然, 我们绝不能为了语言更容易被教学而移走某些语言特性. ” 新标准的C++也将在一些特殊领域得到应用, 比如数值计算, windows风格的应用开发, 嵌入式系统.
- [javascript; 网站设计; CSS; WEB标准] wg:Bookmark: my Top 20 of 2005 #
We can't escape it: the end of the year is the time for lists, charts and so on... To honour the tradition, a few days ago over at blog.html.it I posted my top 20 bookmarks of 2005. I'll report them here in English: they're divided by category, in no particularar order.
更多技术动态,请访问我的365Key(RSS),你可以通过365Key订阅。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=574296
November 11 .....所以除了先天智障或后天懒惰者,都是可以学会写程序的。如果你能确信,自己知道在早上起床后需要: 如果天冷则先穿衣服后洗漱 如果天热则可反之 日复一日直到死亡 那么你就可以开始编程了。甚至,如果你认为以下条件成立: 如果有类似于生病、不能行动、以及意外的紧急事件,则当日可以略过 那么你就可以开始向设计师发展。因为你已经具备了一项常人不具备的基本素质:折衷。
......
October 31 O for a voice like thunder, and a tongue To drown the throat of war! When the senses Are shaken, and the soul is driven to madness, Who can stand? When the souls of the oppressed Fight in the troubled air that rages, who can stand? When the whirlwind of fury comes from the Throne of God, when the frowns of his countenance Drive the nations together, who can stand? When Sin claps his broad wings over the battle, And sails rejoicing in the flood of Death; When souls are torn to everlasting fire, And fiends of Hell rejoice upon the slain, O who can stand? O who hath caused this? O who can answer at the throne of God? The Kings and Nobles of the Land have done it! Hear it not, Heaven, thy Ministers have done it!
【“神舟六号”不是央视的真人秀】 中央电视台的李咏,在前段时间接受《南方周末》采访时,说到自己对央视的深厚感情,大意是,他离开央视大楼时总要开着车绕它几圈,在心里想,咱妈太不容易了,要拉扯这么多孩子……此时,我想,宏伟的央视大楼,或者说,央视妈妈,一定也在慈祥地看着这个孝顺孩子在绕膝撒欢。这一道北京的亮丽风景线,不由得让我想起一句古老的家训:家和万事兴。 有人说,呸,央视也给我一辆李咏的保时捷,让我过上顶级的奢华生活,我何止是叫它妈。这话有点过分,保时捷不能动辄和奢华扯上边,最贵也就1500万一辆;主要是油钱这么贵,还乱绕弯路,这显得奢华。不过,也得理解万岁,有辆保时捷,不多在路上跑,只停在家里,太浪费了。 央视的工作人员,总共有多少辆保时捷级别的跑车,其实是值得统计的。可是,从崔永元的《不过如此》里透露出来的信息显示,这种统计无法完成,“我们电视台的人数不好统计,你像一般干活的每个岗位大概有25人,但是吃盒饭的有140多个人,发奖金的时候有2200人。”一个岗位就相当于一个小型国企的规模,就不用说整体呈现出来的利益团体的巨大数量了。 我说利益团体并不是贬义,凭自己的劳动收入买保时捷,再凭自己的劳动收入买汽油在路上兜风,正大光明。我有钱了,也会买的,还会买红色的,显眼一点。只不过,这2200人的奖金,是通过垄断新闻资源得来的,也就是说,其中个人的劳动成分是很低的;在公平竞争的情势下,李咏也许就只能开着一辆宝来,一下班就抄近路回家了。这种新闻垄断,央视的白岩松说得比谁都精练:就是把一条狗放在央视,它也会成为名狗。 事实证明他是对的,我们看到了那么多的名狗。 有一条新闻可以证明公众的钱如何通过新闻垄断进入央视的奖金库――“中新网9月20日报道,央视广告部的相关人士透露,‘神舟六号’载人飞船直播的广告招商方案已经出台。但飞船发射当天具体的广告价格到目前为止尚未最后确定,估计应该是5秒200万元左右。此外,据了解,‘神舟六号’系列宣传另外还有三档套播广告,其价格分别是5秒256万元、15秒476万元和30秒856万元。‘神舟六号’广告招商方案将广告时间安排在三个阶段:9月12日至‘神舟六号’发射的前一天为‘为神州腾飞喝彩’主题宣传阶段;发射当天、太空飞行及返回当天为直播阶段;‘神舟六号’回收成功次日起的10天内为成功庆贺阶段。这些广告将被安排在CCTV-1、CCTV-3、CCTV-4及新闻频道播出。” “神舟六号”的发射允许商业活动介入,收回研发成本,这是可行的选项,火箭推进器,“神舟六号”,可以喷涂多少广告?再统一由国家提供信息源给所有电视台,广告分成。如果“神舟六号”事关“国家形象”与“国家实力”,一定要去商业化,那么,中央电视台的天价广告还是停掉吧。 发射“神舟六号”,即使中国现在阔了一点,也是沉重的经济负担,这个成本,会摊到每一个纳税人的身上。我们都出了钱,研发人员贡献了他们的智慧与忠诚,最后,钱全让央视赚走了!――而且是无论发射情况如何,它都可以稳赚一票。世上有比这更古怪的事情吗? September 16
Code.google.com is our site for external developers interested in Google-related development. It’s where we’ll publish free source code and lists of our API services.
...
以前都不知... September 15 寒的是搜到好友的一个隐藏的我不知的blog...
以及好友的可能的好友的对友的评价.
看那点内容我就知道人没有错...
算是有趣,
或者...该开始对互联网感到恐慌了.
未来似乎越来越近于赛伯朋可克(Cyberpunk)的作家们所预期的那样,
互联网融入社会,成为一班人的日常,慢慢扩展壮大,最终主宰人类的生活.
August 04
| Title: |
#2424: java <defunct> |
| Status: |
not bug |
| Priority: |
Normal |
| Fixed in version(s): |
|
| Category: |
General |
| Broken Versions: |
Resin 3.0.9 |
| Create Date: |
Fri, 10 Dec 2004 09:39:45 -0800 (PST) |
| Reported by: |
Steve Hughey |
| Sun JDK 1.4.2_05 Resin 3.0.9 Red Hat
Any time httpd.sh stop or I kill -QUIT the wrapper process, it leaves a defunct java process behind. They can only be resolved by rebooting the machine.
This happens on our production 4-way boxes, but not on our single proc dev machines. It did not happen with 3.0.7. (We did not use 3.0.8) |
| Comments |
Scott Ferguson writes on Thu, 13 Jan 2005 17:35:29 -0800 (PST) Developer Comment
|
This is a problem with the older versions of Linux. For better stability, use a version with the new thread model (kernel 3.6).
| |
某机器的内核...
Linux 2.4.21-4.ELsmp
另一机器的内核
Linux 2.4.21-4.ELsmp
还有一机器的内核
Linux 2.4.21-4.ELsmp
.....
kernel3.6是咋回事...不是2.6么.... 大概看出如何配置resin的集群,哈.
不过下面说到的跨机session的问题没有人回的样子,
http://www.caucho.com/support/resin-interest/0402/0163.html
Hi all,
actually we are evaluating the Resin servlet engine and it feels very very good. It's fast and the configuration is mostly quite intuitive. The only one problem we have is to setup a scenario which will approve that Resin is usable for us. We have three pysical machines, on machine C there sits an Apache, on the machines A and B we have installed Resin 3.0.6. The problem we have is that the definition of a cluster/loadbalancer will not work. As the docu states, the TCP-ring sessions should provide the option to shutdown one of the servers (A or B) without any impact on active sessions.
Here the configuration we have actually active:
On machine C, /etc/httpd/httpd.conf: ... LoadModule caucho_module /usr/lib/apache/mod_caucho.so ... AddModule mod_caucho.c ... <IfModule mod_caucho.c> ResinConfigServer 192.168.1.3 6802 ResinConfigServer 192.168.1.4 6802 CauchoStatus yes <Location "/onlinedoc/"> SetHandler caucho-request </Location> <Location "/invimage/"> SetHandler caucho-request </Location> </IfModule> ...
where 192.168.1.3 is machine A and the 192.168.1.4 is machine B. Following the conf/resin.conf, which is identically on server A and B:
<server> ... <http id="a" host="192.168.1.3" port="8080"/> <http id="b" host="192.168.1.4" port="8080"/> ... <cluster> <srun id="a" host="192.168.1.3" port="6802" index="1"/> <srun id="b" host="192.168.1.4" port="6802" index="2"/> <cluster-store jndi-name="sessions" type="tcp" path="sessions"/> </cluster> ... <web-app-default> ... <session-config> <session-timeout>30</session-timeout> <cluster-store/> <always-save-session>true</always-save-session> <always-load-session>true</always-load-session> <ignore-serialization-errors>false</ignore-serialization-errors> </session-config> </web-app-default> ... </server>
With this configuration, server B takes over when server A has been shut down, but every session information (especially authentication) is lost. After login on server B, everything is fine except the server A comes up again. Then, the requests are directed to server A again (session id prefix is 'a') and the session is lost again.
Do you have an idea, what we are doing wrong? Do you have an example config which matches our environment? Btw, using <tcp-store/> does not work, the Resin will not start again (parse errors while processing the config).
Thanks, Thomas
更详细配置,官方文档...(?)
http://www.caucho.com/wiki/display/RESIN/Configure+a+Cluster+Configuration+Server
August 03 U:你打了几个巨蛋啊?
P:2个
U:哪里?怎么都没有看到?!
P:不可能!你看不到那个黄的白的么?
U:没有啊...
...
P指锅里:这些不是么?
U移鼠标翻包裹:哪里...
P:....
P:其实是一个都没有打到...
May 25 ! 之前有试着熟悉java3D,当时在blog上放了一个旋转的贴上图的3D方块,结果flod给我说一开网页就占了他机器的99%CPU,我汗死....想来原生的图形接口应该会更好些. 再之前看了据说是swing内幕的某文,传说是IBM的人写的.说swing的技术就好像读写磁盘不用操作系统提供的API,而是直接调用硬盘的磁头读写扇区...
http://www.eclipse.org/articles/Article-SWT-OpenGL/opengl.html
Summary OpenGL is a vendor-neutral, multi-platform standard for creating high-performance 2D and 3D graphics. Hardware and software implementations exist on various operating systems, including Windows, Linux and MacOS. OpenGL may be used to render simple 2D charts or complex 3D games. This article describes an experimental Eclipse plug-in that facilitates the use of OpenGL for drawing onto SWT widgets. A short history and overview of OpenGL is presented, followed by an example application.
May 21 在eclipse3.0中使用CVS的时候碰到这样的输出 Checking out '' from CVS (Error: Internal error, resource does not start with root ) 之前一直以为是eclipse版本的关系,因为在公司器上使用eclipse3.0.2是可以导出的. 今天在家里的机器上检出项目才发现也有这个问题. google了一下....在mailist中发现有关内容. 再试验了一下,意识到在公司之所以能用是因为我并不是整个checkout项目,而是改了原来项目的cvs设置.那么,也许应该安装低版本的cvs server了.
http://lists.gnu.org/archive/html/bug-cvs/2004-12/msg00309.html http://lists.gnu.org/archive/html/bug-cvs/2004-12/msg00321.html From: Jörg Bullmann.... ....Now, paths in server responses are not full paths including the CVS root any more. Instead relative paths are used, starting at the CVS root. If Eclipse has its own CVS client/server protocol implementation, it might not yet be able to handle this change. >>> April 30 CVS安装 1.cvshome.org下载最新的程序并安装 初始化cvs仓库( cvs -d /cvsroot init) cd /etc/xinetd.d vi cvspserver 文件内容: service cvspserver { disable = no flags = REUSE socket_type = stream wait = no user = root server = /usr/bin/cvs server_args = -f --allow-root=/cvsroot pserver log_on_failure += USERID } 编辑/etc/services文件并且加入: #vi /etc/services cvspserver 2401/tcp #cvs server tcp port cvspserver 2401/udp #cvs server udp port 重启 xinetd /etc/rc.d/init.d/xinetd restart 2.用户权限问题 1.使用CVS的权限认证(没有实际配置) 1.在CVSROOT的config中将#SystemAuth=no的行激活 2.在CVSROOT的目录中添加passwd,readers.writers的文件,passwd中的密码生成可以使用apache的htpasswd命令
2.使用操作系统的权限认证 1.确认已经注释掉SystemAuth=no 2.添加CVS的组,添加cvsroot的用户到cvs组中 groupadd cvs useradd -g cvs -G cvs -d /home/cvsroot cvsroot passwd cvsroot 3.改变目录权限 [root@terry root]# chown -R cvsroot.cvs /cvsroot [root@terry root]# chmod -R ug+rwx /cvsroot [root@terry root]# chmod 644 /cvsroot/CVSROOT/config 4.改变已有的用户到cvs组中,或者添加新用户到cvs组中. 检测成果 cvs -d :pserver:steven@192.168.xxxx.xxx:/cvsroot login
April 25 "With Berkeley DB Java Edition, we have a simpler setup, a 3x increase in data import speed, a 5x increase in performance and a 10x decrease in disk storage requirements."
 Eric Jain, Swiss Institute of Bioinformatics "Berkeley DB Java Edition will, without a doubt, be the de facto standard Java API for manipulating BTree databases."
 Alex Karasulu, Apache Directory Project  Key Features  Stores data in the application's native representation, eliminating the need to translate into a foreign object or relational format  Supports ACID transactional semantics  Survives software and hardware failures without losing data  Zero administration cost — eliminates the need for a DBA  Record level locking, highly concurrent design  Supports a single process, multi-threaded model  Simplicity of application integration - simply add the JAR to your project, no external libraries to load  Provides Java Collections style access as well as a low-level API similar to Berkeley DB's Java API  Small footprint - less than 435 kilobytes  Runs on any Java J2SE 1.4.2 or later certified Java Virtual Machine  Able to run within J2EE application servers  Includes complete source code
|
|