Profiel van 彪妖气重重Foto'sWeblogLijsten Extra Help

欢迎来踩

Windows Media Player

妖气重重

小妖,加油!总有一天,小妖也会变成大王!
Foto 1 van 1
18 december

Linux\Unix性能测试

最近在做云计算,接触到一些虚拟化的技术,所以想测试一下虚拟机的性能到底如何,这里给出一个方法,利用UnixBench来为服务器做性能测试。

   1:  wget http://byte-unixbench.googlecode.com/files/unixbench-5.1.2.tar.gz
   2:  tar -xzvf unixbench-5.1.2.tar.gz
   3:  cd unixbench-5.1.2.tar.gz
   4:  make
   5:  ./Run

如果你不想做图形化测试,或是编译的时候遇到问题,那么你可以修改Makefile

   1:  #GRAPHIC_TESTS = defined

把该句注释掉即可。

16 december

制作USB启动盘

Ubuntu半年发布一次,我又是个有些洁癖的人,所以每次都会重新安装一遍,之前也找过硬盘安装的方法,但是总觉得太麻烦,还是刻盘安装比较干脆利落。但是安装盘用过一次之后,对自己来说就没有多大的利用价值了。之前在装XenServer的时候,我就是用的手头上的两个U盘,一个1G,一个2G,昨天老板给了个8G的闪存盘,觉得以后无论是装Windows还是装Linux(CentOS,Ubuntu,Debian)还是FreeBSD,都可以用优盘来刻盘安装了。怎么刻盘呢?

其实很简单,只需要UltraISO便能搞定一切。

首先你要下载并安装一个UltraISO,这里推荐一个UltraISO下载地址。

image

然后呢,通过“文件”打开你要烧录的ISO文件,如上图,接着选择“启动”-“写入硬盘映像”

image

选择优盘的盘符,写入方式选择USB-ZIP+,然后点击写入。过一会儿就ok了。原优盘会被先格式化,所以请先备份好资料。

Windows 7 引导信息修复方法

bootsect /nt60 SYS /mbr

你可以使用win7安装盘(非OEM安装盘)启动系统,并选择修复系统。然后选择命令行,敲入以上命令。一般可以修复由于安装Linux失误,或是先装Windows XP再装Windows 7造成的引导信息错误。

12 december

Xen Cloud Platform

Xen Cloud Platform现在发布的版本是0.1,其实他的功能与XenServer 5.5的基本功能是几乎一样的。不过XenServer 5.5可以通过XenCenter来管理,XCP只有一个丑陋的Web界面。我没有深入的hack进去,也许存在某种方法,可以使用XenCenter来管理XCP,那样即可以使用一个开源的服务端版本,同时管理工具又很人性化。由于我的切入点是XCP,官方又混淆了许多XCP与XenServer的文档,所以开始配置的时候相当郁闷,后来才慢慢的都搞通了。

我现在手头上用做实验的还都是PC机,四台ThinkCentre M8000T,每个机器有一颗Q95504核的CPU,4G的内存。每台机器上跑3个CentOS的性能与我之前实验室里的单独的一台PC(2005年的Dell吧,1G内存,2.8GHz的CPU)的性能差得不是特别多。因为我也给每个虚拟机分配了一个CPU,1G的内存。说到这里,用到的还都是虚拟化的技术。在XCP里,不同的VM可以在Host(物理主机)间迁移,并且这种迁移可以是在VM运行的时候进行的。XCP在其文档里宣称了有Load Balancing的功能,不过到现在我都没有找到在哪里下载,又怀疑这是文档跑在了发布前的一种现象。找到了文档里说的Load Balancing下载的地方,不过这个是XenServer高级版本里才有的功能,要付费的,可以免费用30天,应该可以供我实验的时候用了吧?这种可以动态的负载均衡和动态迁移的特点,则有许多“云”的感觉了。这两天准备再找找其Load Balancing的资料,做做实验。

另外,你如果在XenServer上安装Windows 7,创建完VM后,不要自动执行,需要设置一下,才可以,命令如下:

xe vm-param-set uuid=<VM UUID> platform:viridian=false

Xen Cloud Platform

Xen Cloud Platform现在发布的版本是0.1,其实他的功能与XenServer 5.5的基本功能是几乎一样的。不过XenServer 5.5可以通过XenCenter来管理,XCP只有一个丑陋的Web界面。我没有深入的hack进去,也许存在某种方法,可以使用XenCenter来管理XCP,那样即可以使用一个开源的服务端版本,同时管理工具又很人性化。由于我的切入点是XCP,官方又混淆了许多XCP与XenServer的文档,所以开始配置的时候相当郁闷,后来才慢慢的都搞通了。

我现在手头上用做实验的还都是PC机,四台ThinkCentre M8000T,每个机器有一颗Q95504核的CPU,4G的内存。每台机器上跑3个CentOS的性能与我之前实验室里的单独的一台PC(2005年的Dell吧,1G内存,2.8GHz的CPU)的性能差得不是特别多。因为我也给每个虚拟机分配了一个CPU,1G的内存。说到这里,用到的还都是虚拟化的技术。在XCP里,不同的VM可以在Host(物理主机)间迁移,并且这种迁移可以是在VM运行的时候进行的。XCP在其文档里宣称了有Load Balancing的功能,不过到现在我都没有找到在哪里下载,又怀疑这是文档跑在了发布前的一种现象。这种可以动态的负载均衡的特点,则有许多“云”的感觉了。这两天准备再找找其Load Balancing的资料,做做实验。

另外,你如果在XenServer上安装Windows 7,创建完VM后,不要自动执行,需要设置一下,才可以,命令如下:

xe vm-param-set uuid=<VM UUID> platform:viridian=false

03 december

QQ拼音输入法

我不知道是不是心理因素,感觉上词的速度要比搜狗输入法快0.05秒的样子。听说QQ有意要出五笔输入法的时候,就很激动,不亚于当年听说搜狗也出输入法了;虽然内心里有10000个呼声想用上Google的五笔输入法,但是人家官方现在没有丝毫要这样做的意思,当然也有一些非官方的作法:这里,还有这里。但是这种曲线救国的方式实在不是我这种有些偏执的人所能接受的。

QQ五笔下载地址:http://xun6.com/file/372686e14/QQWubi_Setup_1.0.77.201.exe.html

目前还不支持与QQ号绑定。

另外也要支持一下我目前最喜欢的搜狗五笔http://wubi.sogou.com

20 november

Chromium OS

先来看一个视频:

 

我真佩服Google人勇气与技术实力,把Web browser与操作系统结合起来,并不是Google提出来的,甚至这种模型有些类似于几十年前的无盘工作站,但是敢于把这个东西做出来的,也只有Google一家了吧?财大气粗,技术优良,有想法,有实力,不怕失败,这是个多么符合我梦想的公司呀(yy…请忽略这一段)。

手机操作系统、浏览器、操作系统,都不是Google曾经擅长的方面,但是他都去做了,都以一种高标准和高姿态去做了,都以一种创新的态度去做了,国内很少有看到公司能这样去做,更多的是看到了别的一款成熟的产品,而去开发一个甚至不如人家的copy cat,只是国内的许多公司能把握住国内用户的口味,能在天朝的市场里搞好营销,于是便成功了。如果把互联网应用之间的竞争也比作是一种经济模式的话,中国的互联网行业离真正的国际市场经济还很远,中国的互联网市场对于国外的公司进入还有许多天然的壁垒。

又胡扯了一堆,只是看到Chromium OS,觉得如果能用在一个上网本上,倒是很适合我们这些人出门在外时的需求,上网,听歌,看视频,邮件,玩游戏。拭目以待!

周五又到了,这周的时间过得真快,忙起来的时候真的觉得时间是按周算的。

更多视频,可以看这里

17 november

在CentOS 5.4上安装CouchDB

CouchDB一种半结构化面向文档的分布式,高容错的数据库系统,具体的可以参见其网站上的文档,以及这里的一篇技术简介的翻译。CouchDB在Ubuntu下安装非常方便,只需要使用sudo apt-get install couchdb即可,我以为在CentOS中也会比较容易,没想到却遇到了比较多的问题。主要包括:

  1. CentOS的安装源里不包含CouchDB
  2. CouchDB需要Erlang的运行时支持,CentOS的安装源里也没有Erlang

OK,我们一步一步来搞定在CentOS下安装CouchDB。首先需要安装Erlang,却Erlang的官方网站下载源码,然后在本地编译安装:具体的脚本为:

   1: wget http://www.erlang.org/download/otp_src_R13B02-1.tar.gz
   2: tar–xzvf otp_src_R13B02-1.tar.gz
   3: cd otp_src_R13B02-1
   4: ./configure
   5: make && make install

中途有可能会遇到一些依赖的问题,比如缺少icu、ncurses、wxWindows等,前面几个大略都可以从yum时行安装,wxWindows可以不问,如果你之后不准备使用Erlang进行UI编程的话,这些也足够用了。

Erlang安装完成之后,测试一下在bash里erl和erlc能否使用,若能,则这一步就完成了。

接着是安装CouchDB,由于CouchDB里用到了JavaScript,所以其依赖于SpiderMonkey,需要先安装libmozjs这个库,步骤为:

   1: wget ftp://ftp.mozilla.org/pub/mozilla.org/js/js-1.8.0-rc1.tar.gz
   2: tar–xzvf js-1.8.0-rc1.tar.gz
   3: cd js/src
   4: make BUILD_OPT=1–f Makefile.ref

编译应该不会出什么问题,如果你的机器没有配置编译环境,你可以参考这篇文章进行配置。

可以当我执行make –f Makefile.ref install的时候傻了,没有这个target,好吧,我们自己写脚本安装这个库。代码如下:

   1: #!/bin/bash
   2: mkdir -p /usr/include/mozjs/ -v
   3: cp *.{h,tbl} 
   4: /usr/include/mozjs/ -v
   5: cd Linux_All_OPT.OBJ
   6: cp *.h /usr/include/mozjs/ -v
   7: mkdir -p /usr/local/{bin,lib}/ -v
   8: cp js /usr/local/bin/ -v
   9: cp libjs.so /usr/local/lib/ -v 

把上面的代码保存成install.sh,并放在src文件夹下,执行一遍即可。

终于可以编译CouchDB了,脚本如下:

   1:  
   2: wget http://labs.xiaonei.com/apache-mirror/couchdb/0.10.0/apache-couchdb-0.10.0.tar.gz
   3: tar–xzvf apache-couchdb-0.10.0.tar.gz
   4: cd apache-couchdb-0.10.0
   5: ./configure
   6: make && make install

这次编译应该不会出什么问题,如果出了,也应该是比较好解决的,我们假设你看这篇文章的时候,有这个能力来解决那些小问题。

然后这个时候就安装成功了。接着是配置CouchDB,官方建议不要用root帐户来运行,所以,我们新建一个账户跟组来运行。脚本如下:

   1: groupadd couchdb
   2: useradd couchdb–g couchdb–d /usr/local/var/lib/couchdb
   3: su– couchdb–c “/user/local/bin/couchdb -b”

最后一行是用来启动couchdb的后台进程,如果要停止,把参数从-b改成-d即可。

新版本的配置文件好像是/user/local/etc/couchdb/local.ini,各取所需,自己修改吧。

在CentOS 5.4上安装CouchDB

CouchDB一种半结构化面向文档的分布式,高容错的数据库系统,具体的可以参见其网站上的文档,以及这里的一篇技术简介的翻译。CouchDB在Ubuntu下安装非常方便,只需要使用sudo apt-get install couchdb即可,我以为在CentOS中也会比较容易,没想到却遇到了比较多的问题。主要包括:

  1. CentOS的安装源里不包含CouchDB
  2. CouchDB需要Erlang的运行时支持,CentOS的安装源里也没有Erlang

OK,我们一步一步来搞定在CentOS下安装CouchDB。首先需要安装Erlang,却Erlang的官方网站下载源码,然后在本地编译安装:具体的脚本为:

   1: wget http://www.erlang.org/download/otp_src_R13B02-1.tar.gz
   2: tar–xzvf otp_src_R13B02-1.tar.gz
   3: cd otp_src_R13B02-1
   4: ./configure
   5: make && make install

中途有可能会遇到一些依赖的问题,比如缺少icu、ncurses、wxWindows等,前面几个大略都可以从yum时行安装,wxWindows可以不问,如果你之后不准备使用Erlang进行UI编程的话,这些也足够用了。

Erlang安装完成之后,测试一下在bash里erl和erlc能否使用,若能,则这一步就完成了。

接着是安装CouchDB,由于CouchDB里用到了JavaScript,所以其依赖于SpiderMonkey,需要先安装libmozjs这个库,步骤为:

   1: wget ftp://ftp.mozilla.org/pub/mozilla.org/js/js-1.8.0-rc1.tar.gz
   2: tar–xzvf js-1.8.0-rc1.tar.gz
   3: cd js/src
   4: make BUILD_OPT=1–f Makefile.ref

编译应该不会出什么问题,如果你的机器没有配置编译环境,你可以参考这篇文章进行配置。

可以当我执行make –f Makefile.ref install的时候傻了,没有这个target,好吧,我们自己写脚本安装这个库。代码如下:

   1: #!/bin/bash
   2: mkdir -p /usr/include/mozjs/ -v
   3: cp *.{h,tbl} 
   4: /usr/include/mozjs/ -v
   5: cd Linux_All_OPT.OBJ
   6: cp *.h /usr/include/mozjs/ 
   7: -v
   8: mkdir -p /usr/local/{bin,lib}/ -v
   9: cp js /usr/local/bin/ -v
  10: cp 
  11: libjs.so /usr/local/lib/ -v 

把上面的代码保存成install.sh,并放在src文件夹下,执行一遍即可。

终于可以编译CouchDB了,脚本如下:

   1:  
   2: wget http://labs.xiaonei.com/apache-mirror/couchdb/0.10.0/apache-couchdb-0.10.0.tar.gz
   3: tar–xzvf apache-couchdb-0.10.0.tar.gz
   4: cd apache-couchdb-0.10.0
   5: ./configure
   6: make && make install

这次编译应该不会出什么问题,如果出了,也应该是比较好解决的,我们假设你看这篇文章的时候,有这个能力来解决那些小问题。

然后这个时候就安装成功了。接着是配置CouchDB,官方建议不要用root帐户来运行,所以,我们新建一个账户跟组来运行。脚本如下:

   1: groupadd couchdb
   2: useradd couchdb–g couchdb–d /usr/local/var/lib/couchdb
   3: su– couchdb–c “/user/local/bin/couchdb -b”

最后一行是用来启动couchdb的后台进程,如果要停止,把参数从-b改成-d即可。

新版本的配置文件好像是/user/local/etc/couchdb/local.ini,各取所需,自己修改吧。

16 november

使用CI进行开发时遇到的一个诡异问题:无法找到文件404

问题描述:我写了两个方法,add_product,save_product,add_product方法将会展现一个form给用户,用户可以在这里填写产品的基本信息,还可以上传产品的一张图片,save_product用来处理上一个方法POST过来的数据。逻辑很简单,用到了CodeIgniter里的Upload和Image_lib两个Library,在机器上测试也是十分的顺利,传到服务器上我甚至都没有想到会出问题,但是却出了一个让我摸不着头脑的问题,在保存文件时,服务器返回了404,也就是文件没有找到。在确认了配置信息都正确的情况下,我有点摸不着头脑了,于是GET了一下save_product方法,发现可以GET到,POST数据过去的时候,却返回404,奇怪奇怪!

由于被这奇怪的错误信息所迷惑,所以到周一的早日才想到祭出我的法定,分解测试,把代码隔成段,我先把save_product里的代码全部注释掉,服务器返回500,正常;再把处理上传的代码解注释,服务器返回正常;再把进行图片缩放的代码解注释掉,服务器返回404,无法找到文件。基本上确定是在图像处理的环节出了问题,于是把'image_library' => 'GD2'换成'image_library' => 'GD',问题解决。

可是到现在也没有想通即使服务器上没有gd2模块,我调用了相应的函数,为什么页面返回404。同时鄙视一下某个服务器提供商,PHP的许多常用的模块都没有加载,JSON解析都么有,怎么做应用呢??

更新:问题解决了,出问题的函数是imagefill,某个服务器提供商的虚拟主机里提供了GD2,不过是一个相当老的版本。我替换了解决PNG图片缩放透明的算法,就OK了,但是一旦调用imagefill,就会返回一个404错误,还是费解。

 

彪 张

Beroep
Plaats
Interesses
邮箱:bbbiao@163.com
bbbiao@gmail.com
qq:195555248
msn:bbiao@msn.com
系统重装后必装的东西

Feed

Er is nog geen feed opgegeven voor deze module.
*