2009年7月13日星期一

在Linuxtoy上看到的firefox优化方法

感谢原帖。
进入.mozilla/firefox/xxxx.default
执行sqlite3 places.sqlite vacuum和sqlite3 formhistory.sqlite vacuum,然后启动firefox,速度貌似确实有了较大改善。
不过按照我对vacuum这个词的理解,貌似这个优化方法不算一劳永逸来着?

2009年7月11日星期六

Sed也要万分小心的教训

需要把bbs服务器中所有的域名(bbs.xxxx.xxx.cn)改成ip(111.22.333.444),于是就很自信的在bbs根目录下执行
find . -exec sed -i 's/bbs\.xxxx\.xxx\.cn/111.222.333.444/g' {} \;
且不说把其中的bin和lib文件夹中的一些二进制文件改了,这个好办,重新编译生成这些二进制文件就解决了。要命的是kbs的bbs系统在boards、mail这些存放数据的文件夹里面也全部都是二进制文件,使用上面的命令之后,由于bbs.xxxx.xxx.cn与111.22.333.444相差一个字符,直接导致被修改的部分之后完全乱套。
解决办法是:
1. 对于被搞乱的版面,进入boards下相关文件夹,备份.DIR和.ORIGIN,然后
sed -i 's/111\.22\.333\.444/111.22.333.444 /g' .DIR .ORIGIN
其实就是在末尾多了个空格来达到字符数平衡,多数都能解决。
2. 对于被搞乱的邮箱,同样进入mail下相关文件夹,备份之后进行替换
sed -i 's/111\.22\.333\.444/111.22.333.444 /g' .DIR .SENT .DELETED

另外:如果在bbs文件夹里面建立一个NOLOGIN的空文件,就只有telnet 127.0.0.1可以登录,可以用来测试。

2009年7月1日星期三

更改gtk的字体和主题

来源:http://www.leninlee.cn/?p=315
其实以前没有想到有这么简单,直接修改~/.gtkrc-2.0即可。例子如下

include "/usr/share/themes/Nodoka-Silver/gtk-2.0/gtkrc"

style "user-font" {
font_name = "Microsoft YaHei 10"
}

widget_class "*" style "user-font"

gtk-font-name="Microsoft YaHei 10"

#Nodoka-silver是使用gtk-nodoka-engine的主题,只依赖gtk2。对于不想多装依赖的本人来说,比murrine引擎要好一些。

2009年6月27日星期六

又是豆腐渣

本来昨天看了No Man's Land心里已经够难受了,今天又在Solidot上看到关于上海某处新楼倒塌的新闻。看了图片,觉得很心寒。一整栋楼软软的趴在那里,就像No Man's Land最后静静躺在地雷上的士兵一样,沉重得让人窒息。

为了防止原帖子被河蟹,下面转载了一些图片,来自这里


2009年6月25日星期四

OpenVPN翻墙

其实blogger很早之前就被屏蔽了,由于太忙,想大不了有什么想写的写在豆瓣日记里呗,所以就没有积极的考虑翻墙。最近google reader和www.google.com终于也被屏蔽了,越想越气,这人还怎么活。开始积极的思考翻墙。

首先想到的是tor。tor确实好配置,不过龟速实在难以忍受,于是想到了OpenVPN。目前找到了两个免费的OpenVPN服务,分别是ultravpn和alonweb。首先到alonweb的官方网站下载必要的文件,解压到家目录中。然后把解压出的alonweb.conf中的"redirect-gateway"改为"redirect-gateway def1"(如果你自己是处于一个LAN网络中已经有一个default gateway的话)。

modprobe tun,然后sudo openvpn --config alonweb.conf --ca alonweb.crt就可以启动openvpn了,不要忘了先要安装openvpn这个软件,和在alonweb的官网上注册。

然后就可以测试了,ping xxx.xxx.0.1(这是启动openvpn时提示信息最后几行中显示的),如果能ping通,就成功了一半。至此,就建立了自己的电脑到远程vpn服务器的一个隧道。如果启动openvpn时把"redirect-gateway"注释掉的话,使用route命令查看一下本地的路由表,会发现只有到xxx.xxx.0.1的连接会通过新建立的隧道,而其它通信还是通过原来的网关。但是我们用vpn的目的就是用来翻墙,所以必须要进行一些额外的配置。其第一步,就是在配置文件中设置redirect-gateway def1(刚才我们已经完成了),接下来还有2步:
1. sudo sysctl -w net.ipv4.ip_forward=1,允许内核进行ip forward
2. 设置iptables:
iptables -t nat -A POSTROUTING -s xxx.xxx.xxx.0/24 -o eth0 -j MASQUERADE
/etc/rc.d/iptables save
/etc/rc.d/iptables start
注意这里的xxx.xxx.xxx.0/24是你自己所处的实际内网的网段,与OpenVPN的输出信息完全无关。我就是在这里纠结了好长一段时间,后来想想,这里的含义应该是:由于我处于这个内网,我的所有访问必然会经过这个内网,所以只要把与这个内网的所有通信都route到隧道就可以了。

经过以上的设置,本机所有的网络通信都通过隧道进行,这显然不是最合理的。至于如何精细调节,可能就要在iptables或route上下功夫了,不在本文讨论之列。经测试,速度还是可以忍受的,比tor要快得多。

最后ps一下:alonweb是有广告的(ultraweb还没试),不过这对于我来说反而是一种安慰——自由软件事业还是需要大家的支持。

2009年5月3日星期日

用Scribefire发布blogger文章注意

其实也没啥好注意的,就是如果在大陆使用的话设置account的时候要把http改成https。

然后就是发布的文章总是草稿,还需要再登入blogger控制台进行发布。


Powered by ScribeFire.

2009年5月2日星期六

更快的查看mldonkey进度的方法

以前要查看mldonkey,比较简单的方法是用web界面或第三方gui如sancho。下面介绍更简单的利用telnet查看进度的方法。

1. 编辑~/.bashrc,加入一行:

alias m='(echo "auth username password";echo vd)  | nc -q 1 localhost 4000 | awk '"'"'/\[D/{print"\033[0;32m"$7"\t\033[4;31m"$8"%\033[0m\t",$14"KB/s"} /Down:/'"'"' |head'

然后source ~/.bashrc就可以用m来查看前10条进度记录了。


2. 多用户的权限配置策略

如果是单用户的话,没什么好说的,把你的用户名和密码写在上面的命令中,然后想办法保证.bashrc文件不会被别人看到就ok。

如果是多用户,假设自己是管理员user1,还有一个一般用户为user2。我想查看所有用户的进度,但是user2只能查看自己的进度。并且为了安全起见,用于查看的用户没有管理员权限,则可以如下配置用户和组:

user========group=====================admin

admin=======mldonkey==================true

user1=======mldonkey group1==============true

user2=======group2=====================false

view========group1 group2===============false


group============admin

mldonkey==========true

group1===========false

group2===========false


并把user1的默认group设置为group1,如此设置的效果为:admin基本不用;user1具有管理员权限,但是它下载的文件属于group1组,能够被view用户看到;user2只能看到自己的下载的文件,但是view用户也能看到user2下载的文件。剩下的就只需要保证.bashrc不被别人看到了,其实看到了也无所谓,大不了把我下载的文件取消了,至少无法改变我的设置


3. 可能用到的命令

以下为telnet命令:

groupadd group1 true/false #true则该组具有管理员权限

useradd user passwd group

useraddgroup user group #把user加入到group组中

userdgroup user group #设置user的默认group

chgrp num none/group #把某一个下载进程的所属组改为group,none则为只有其所属用户才能看到

以下为shell命令:

cd ~/.mldonkey && mv files.ini temp && cat temp |sed 's/mldonkey$/group1/g' > files.ini && rm temp #把以前用管理员帐号下载的文件的group值都改为group1




Powered by ScribeFire.