CentOS5上安装encfs及boost

[| 2011/09/16 15:01]
最近要用到encfs,于是决定安装一下,encfs依赖于fuse,这个经过测试是可用的。yum search encfs,发现库里有,直接装上去了,前面一切顺利,在建立加密分区的最后一步,提示了一个:

terminate called after throwing an instance of 'boost::filesystem::filesystem_error'
what(): boost::filesystem::path: invalid name ".encfs6.xml" in path: "/root/ef/.encfs6.xml"

看了一下版本,装的是1.4.2版的encfs和1.33.1版的boost。而encfs官网上要求的是1.34版boost,看来问题出在了这里。

于是上网搜了一下boost的rpm包(直接编译非常慢且很耗内存,我的小vps根本不行,只能装rpm),在:

http://rpms.plnet.rs/centos5-i386/RPMS.all/

搜到了boost1.34.1。wget回来用rpm -i安装时提示找不到libicui18n.so,yum了一下发现我装过了,看来是版本过旧。下了libicu-4.0.3装上后ok了。然后yum安装encfs,发现在yum里还是依赖boost,无语了,直接编译一个算了。比版本库里的还新。

于是去encfs官网下载最新的1.7.4,configure了一下,提示没有boost,想起来忘了装devel。把devel下载下来装上后提示差rlog,用yum装上rlog-devel后顺利编译安装。


建立加密分区的过程一切顺利,但挂载的时候提示:

fuse: failed to exec fusermount: Permission denied

原来需要将当前用户加到fuse组里。

ok,现在可以用了。

gitweb安装及lighttpd配置

[| 2011/09/03 18:35]
由于前段时间已经把自己开发的代码都纳入到了git版本库的管理。维护代码顺畅了很多。不过查看diff还是有些麻烦,命令行使用起来很繁琐,win下的客户端又要把代码都check下来才能查看。于是决定在server上搭一个gitweb。

由于有yum,安装软件包简单了很多,直接yum install gitweb即可。

然后开始配置gitweb,修改/etc/gitweb.conf
设置our $projectroot为git库目录
设置$feature{'blame'}{'default'} = [1]; 这样就可以查看每个文件的修改历史了。很不错。

然后下一步需要给gitweb配置一个webserver。在我的server上可选的有nginx和lighttpd。由于最近在搞lighttpd,所以决定用lighttpd来作为gitweb的前段server。

首先在lighttpd中打开cgi模块的支持。
配置lighttpd.conf,给gitweb开个新端口,并配置相应的rewrite规则和验证规则



$SERVER["socket"] == "0.0.0.0:9999" {
auth.debug = 1
auth.backend = "htdigest"
auth.backend.htdigest.userfile = "lighttpd.htdigest"
auth.require = ( "" =>
(
"method" => "digest",
"realm" => "Password",
"require" => "valid-user"
)
)
server.document-root = "/var/www/git"
url.rewrite = ("^/static/(.*)$" => "/static/$1" ,
"^(.*)$" => "/gitweb.cgi$1"
)
}
上述配置规则表明,gitweb可从9999端口访问,lighttpd的mod_auth配置debug级别为1,类型为htdigest,指定密码文件,指定document_root和rewrite规则。

这里的htdigest就不多写了,网上资料很多,就是对密码和其他字段md5加密保存并验证的东西。

rewrite规则要注意,静态文件请求不进行rewrite,对于其他请求,统一rewrite到gitweb.cgi,如果配置错误,可能会在gitweb页面报404错误(找不到项目),让人摸不到头脑。验证方法是:如果web页面看到404找不到项目的错误,可以在server上手动执行gitweb.cgi,如果可以得到结果,可以判断是rewrite参数配置错误。
linux下要想管理启动项,直接修改/etc/rc.*是最直接的方法,但易用性很差,且易出错。使用一些工具就显得比较必要。

chkconfig是比较经典的一个工具,直观,用起来也方便,不过老是在命令行敲敲敲的,腻了。

于是用了一下在控制台下的图形管理工具:ntsysv。有了可视化界面,感觉爽了不少。上下键移动,空格设置选中/非选中状态,tab切换选区。

lighttpd中UNUSED宏的作用

[| 2011/08/23 11:02]
在lighttpd代码中,出现过很多UNUSED(srv)这种代码,查看代码发现#define UNUSED(x) ( (void)(x) ) 这个宏。

看起来没什么用。研究了一下,确实在逻辑上没有用,只是为了防止编译器报unused variable。

linux下screen关闭闪屏

[| 2011/08/19 23:24]
在linux下用screen时,当移动到行首或者行尾时,再尝试移动屏幕就会闪烁一下,非常郁闷,并且似乎只有secureCRT调成我常用的那个主题的时候才会闪,黑背景不闪,以为是bug。今天突然看见一篇文章说这是screen的一个功能。可以关闭。很happy
关闭screen屏幕闪动只需要使用CTRL-a CTRL-g,也就是先输入CTRL + a,再输入CTRL + g。

如果想永远关闭screen的闪屏功能,需要修改配置文件。在CentOS中可以修改/etc/screenrc,修改这个文件将对所有用户生效。对单个用户生效可只修改自己的配置文件。在$HOME/.screenrc中加入下面的话:
vbell off
其实这与vi中的visualbell功能很是类似。在vi中关闭闪屏,是使用:set novisualbell命令。

ramhost也要不靠谱了

[| 2011/08/06 01:07]
今天翻看ramhost的用户协议,发现改成Premium不超售,Budget轻度超售了。太不靠谱了。现在ramhost的价格已经不算是低价了。还超售。看来靠谱度下降。
今天启动android模拟器时报invalid command-line parameter: Files错误,原来这是sdk的一个bug。

要求sdk的安装路径中不能有空格,比如安装在program files下就不行。

解决方法非常简单,安装到无空格的路径下即可。

完整的错误信息应该是类似于如下的格式:
invalid command-line parameter: Files
Androidandroid-sdk ools/emulator-arm.exe. Hint: use '@foo' to launch a virtual device named 'foo'.
please use -help for more information

windows xp安装到vhd上

[| 2011/07/24 21:59]
最近发现某些程序还得跑到xp上,于是决定装个xp。虽然预留了一个主分区,但想着是给win8或者其他系统预留的。并且常规安装不可避免的要覆盖系统引导项。还需要恢复linux的grub,win7和08r2的bcd,实在麻烦。最近发现有个工具叫vboot,可以支持xp装在vhd里。可以看成是一个grub+xp下vhd磁盘驱动的一个组合体。

大概启动原理是这样(由于我对这方面了解不深,一些地方是个人推测):第一次启动,将vboot.img作为软盘,xp安装盘作为光盘,vhd作为硬盘启动,grub引导vboot.img,而后vboot.img挂载光盘作为光驱,并加载vhd驱动,将vhd文件虚拟成硬盘。
第二次启动使用xp安装盘作为光盘,vhd作为硬盘,从vhd启动,同时挂载光盘镜像。
然后是正常启动过程,直接引导vhd作为硬盘,在前几步安装时已经给xp插入了vhd驱动,所以xp可以直接从vhd启动了。

刚开始下载的是原版vboot,自己拷贝各种文件,配置bcd,创建chd。后来发现有12f蓝屏,一查原来vboot试用版过期了。。找了无限时间的文件替换上,7b蓝屏,这是开启ahci的原因。关闭ahci后,发现光标闪了两下后屏幕黑了,卡住不动。。尝试几次后推测是显卡不兼容。

既然正常安装无法进行,只能尝试ghost模式,跳过第一次启动和第二次启动,使用ghost后直接进入正常启动流程。这里就用到了一个无忧启动论坛网友制作的工具:WinXP_VHD。这个工具支持两种模式,一种模式是安装光盘iso,就是普通方式。还有一种模式就是ghost模式,该程序会自动将制定gho文件中的内容镜像到vhd文件中,并向其中插入vhd驱动和相应注册表信息。这样就可以直接进入正常启动模式。

手头正好有雨林木风的xpsp2纯净ghost镜像,收藏很多年一直没有正式用上,这次终于发挥了作用。拿出来弄好后,重启,顺利进入了系统!安装各种驱动。使用感觉很不错,不过thinkpad的active protection在vhd里貌似发挥不了作用,这是个小遗憾。

nginx日志中400错误

[| 2011/07/08 21:06]
今天发现日志中有一定比例的400错误,查了一下说是因为浏览者http头发送的过大导致的。于是在nginx配置文件里加上:

client_header_buffer_size 16k;
large_client_header_buffers 4 32k;


改善了不少,不过还是有400错误,待后续考证原因。

风扇清理作用很有效

[| 2011/07/08 00:14]
到了夏天,笔记本底面总是很热,我以为是灰多了,拆开看了看,发现貌似也不算多,感觉那么一点灰会对散热影响很大么。。。后来发现公司发的新电脑底面都是凉的。。。决定清清灰。

tb上买了罐压缩气,拆开电脑吹了一下,效果很好,看起来黏在风扇上的一层灰一吹就掉了。通风口也吹出一堆灰来。气罐倒是越用越凉,到后来都冰手。

吹完装好,cpu压满,跑了会,cpu温度稳定在53。底面温度大为降低。以前cpu温度都能到70-80度,看来效果还是相当明显的。
分页: 3/23 第一页 上页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]