哈 的个人资料哈哈的部落格(blog@msn)照片日志留言簿更多 工具 帮助

日志


10月24日

给android编一个busybox时出"'cc1': execvp: No such file or directory"

从这里(http://www.codesourcery.com/gnu_toolchains/arm/download.html)下载arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu的软件包
从http://www.busybox.net/下载busybox源代码之后
解开
make menuconfig后出错

“gcc: error trying to exec ‘cc1′: execvp: No such file or directory”

是因为CONFIG_CROSS_COMPILER_PREFIX设的不对
应该是像这样:“/pathto/arm-2009q1/bin/arm-none-linux-gnueabi-”

10月22日

squid的access_log中MISS的数量对应不上后台nginx里access_log数量的问题

产品有些较真的人
作squid压力测试
发现前台squid的access_log里面
状态是MISS的数量
跟后台real server(nginx)里的access_log里的访问记录条数对应不上(要多一些)

然后就怀疑squid也许会有问题
因为有些不在squid的cache里的请求没有能穿透squid打到后面的nginx上

经过仔细察看
发现squid里有同一时间、多个请求访问同一个不在squid的cashe里的对象
这时,squid在log里记的是“MISS”
但squid去后台real server(nginx)只取一次数据
(或者也是同时多个请求一起取,但nginx的access_log只记录一次)
毕竟
squid返回的是200状态嘛

8月18日

/dev/null变成了常规文件的问题

某台机器出一诡异现象
/dev/null变成了一个常规文件!
导致某些服务不正常
我登陆上去

mv /dev/null /dev/null.xxx
mknod /dev/null c 1 3
chmod go+w /dev/null

然后就好了
只是为什么/dev/null会突然变成常规文件呢
没搞明白

8月4日

mtu值导致ssh连接严重丢包

前面碰到的问题
其实大概原因是这样的
Linux1–>vpn1<-->vpn2–>Linux2
vpn1和vpn2之间是走公网搭的一个vpn连接
这样
当从Linux1上ssh连接到Linux2上的时候
登录正常
当某个命令需要从Linux2返回大量的数据回Linux1的时候
由于某些ip包大小大于mtu值
而且被置DF位(不允许分片)或者是ip包允许分片但是vpn1或vpn2不允许分片的ip包通过
所以导致Linux1收不到其他的大ip包
导致看起来是ssh session挂掉
其实
tcp层有路径最小mtu值发现功能
为什么没生效呢?
其实不是这样的
比如当Linux2回来的大包分成1500一片到达vpn2
vpn2上还要给其打上4个字节的GRE头(如果vpn用的GRE通道的话)
再加上外层的20字节的ip头
这一下就超过vpn1公网(vpn是通过公网连起来的)以太网口的mtu值1500!!
于是返回“MTU of next hop: 1500”的错误
这样的话Linux2还会以1500来分片发送大包
这样循环下去,Linux1永远也不会收到来自Linux2的大的ip包
ssh session自然就“挂”了

原因明白了
那么解决起来就容易了
无非是改小mtu值嘛
那改成多少合适呢
很简单
改成1500-4-20=1476就行(其实小于这个数也行,不过mtu自然是要最大的)
于是ifconfig eth0 mtu 1476
再ssh登录
dmesg
都没问题了,搞定

8月3日

dmesg会让ssh登录的session hang掉?

又见诡异现象
中午有人跟我说
刚重装的外地的某台机器
ssh登上去后输入top、ls等等常见命令的时候都会导致ssh session挂掉
服务器本身貌似没有问题
于是我就试了下
发现不仅仅是这一台
而是重装的4台都有问题
当我输入dmesg的时候ssh session都会hang掉
本以为是自己定制的bash有问题
起了个tcsh,还是不行
以为是ip冲突
但4台同时出问题的可能性小吧
然后还怀疑是cpu不支持x86_64的问题
但hp dl360 g5(cpu是xeon)的机器不至于呀
最诡异的是同事从公司直接ssh上去
说没有问题呀
我这里由于没法直接ssh过去
是从公司别的idc的机器上跳过去的
难道真是这个原因造成的吗?

太诡异了

7月20日

Deleting mms is very slowly on adp1(adp1上删除彩信太慢了)

周末
发现我的adp1(android develope phone 1)上的”Dialer Storage”已经十多兆了
于是进dialer届面删掉所有call log
发现dialer storage没减少多少
于是就进了Messages界面来删除彩信
有个号给我发了150多条的彩信(手机报)
本想删除之,看看能否减少dialer storage的占用
没想到
点击了删除,然后又确认了
结果messages程序转了半天
也没删除掉mms
反而还把messages程序搞得没有反应

对啦
我的系统是htc官方的cupcake

7月9日

升级cacti到0.8.7e后插件thold找不到的问题

今天升级cacti0.8.7b到0.8.7e
升级过程一切正常
只是以前安装的插件thold页面上看不到了
于是又升级了最新的plugin architecture和settings、thold两个plugins
但是web页面里仍没什么变化
后来访问了下plugins.php
系统报没有权限
然后直接点”login”直接就进系统了
由此可见
不是没有权限
应该是没有特定的权限
于是进用户设置界面”User Management”
将所用的用户点开
果然有个”plugin management”的权限没选中
选中
再Save
再回来刷页面
果然
左边有了新的一项菜单:“Plugin Management”
点进去可以进行plugin的管理
搞定