存档

‘TroubleShooting’ 分类的存档

ubuntu server下的nrpe的配置

2010年8月28日 哈哈 没有评论

在ubuntu server下部署nrpe非常简单
直接

sudo apt-get install nagios-nrpe-server nagios-plugins

即可
启动脚本为/etc/init.d/nagios-nrpe-server
配置文件在/etc/nagios/nrpe.cfg
但是不建议大家直接修改这个文件
建议把需要的配置写到文件/etc/nagios/nrpe_local.cfg里
nrpe_local.cfg会在nrpe.cfg的最后被load
所以它的配置如果有跟nrpe.cfg的重复的话会覆盖掉原来在nrpe.cfg中的配置
这样我们可以把nrpe.cfg的内容当作缺省值
只有我们需要的配置跟缺省值不一样的时候
我们才需要将其写到nrpe_local.cfg里
再nrpe_local.cfg后面被load还有目录/etc/nagios/nrpe.d/这个目录下的所有文件
这里牵涉到一个小技巧
就是这里所有的文件必须为.cfg结尾
否则不能被nrpe读取!!

ubuntu下dhcp环境下初始化nameserver设置

2010年8月14日 哈哈 没有评论

ubuntu下用wifi等网络连接的时候有个问题
如果其是使用的dhcp的话
/etc/resolv.conf中关于nameserver的设置会被dhcp server的数据覆盖
而我家里的无线路由器却偏偏有个bug
不管我的路由器ip地址已经变化的现实
他还是给dhcp client原来出厂设置中的路由器的ip地址192.168.1.1
这让我很郁闷
每次连接上wifi
都需要手工修改/etc/resolv.conf
否则没法解析域名
以前找了一种方法

http://www.haw-haw.org/node/689

但感觉不是很完美
于是又翻了翻手册
发现dhcpclient.conf(/etc/dhcp3/dhclient.conf)中有个prepend的命令
可以干这个
具体这样用:

prepend domain-name-servers 127.0.0.1;

这样的话
当wifi连上,dhcp取回地址时
dhcp给的nameserver会放在你设的127.0.0.1的后面
基本解决这个问题。

linux下的gethostbyname是否跟windows下的不一样?

2010年8月7日 哈哈 没有评论

最近碰到个问题
某个域名
在linux下ping不了、wget不了、curl不了,都出“unknown host”的错误
但是nslookup却还是能解析出域名的
检查了/etc/hosts、/etc/host.conf、/etc/nsswitch.conf以及/etc/resolv.conf都没有问题
而且在windows下却没有任何问题
联想到ping、wget、curl等网络程序应该都是调用的同一函数来解析域名的
进一步了解应该是gethostbyname函数
写了个简单的程序用gethostbyname
果然出错
于是装上glibc的源代码
找到gethostbyname函数所在程序resolv/gethnamaddr.c
最终在resolv/res_comp.c中找到了答案:

int
res_hnok(const char *dn) {
int ppch = ‘\0′, pch = PERIOD, ch = *dn++;
while (ch != ‘\0′) {
int nch = *dn++;
if (periodchar(ch)) {
(void)NULL;
} else if (periodchar(pch)) {
if (!borderchar(ch))
return (0);
} else if (periodchar(nch) || nch == ‘\0′) {
if (!borderchar(ch))
return (0);
} else {
if (!middlechar(ch))
return (0);
}
ppch = pch, pch = ch, ch = nch;
}
return (1);
}
libresolv_hidden_def (res_hnok)
应该就是这个res_hnok这个函数判断名字不合法而导致返回0
最终h_error被设置为”NO_RECOVERY”
并gethostbyname返回NULL
呵呵
就是因为这个域名解析出来的某一级CNAME居然是*.xxx.xxx这个样子
于是被res_hnok函数认为非法
不过为啥windows下没有问题
这个估计是linux和windows下的gethostbyname不太一样吧
windows总是这样特立独行,不太愿意跟标准兼容的
:)

rhel5.3的yum的错误

2010年7月22日 哈哈 没有评论

今天在一台rhel(redhat enterprise linux)5 update 3的机器上yum装东西
突然发现出错了
连yum update也出错,错误像下面这样:
Traceback (most recent call last):
File “/usr/bin/yum”, line 29, in ?
yummain.user_main(sys.argv[1:], exit_code=True)
File “/usr/share/yum-cli/yummain.py”, line 229, in user_main
errcode = main(args)
File “/usr/share/yum-cli/yummain.py”, line 145, in main
(result, resultmsgs) = base.buildTransaction()
File “/usr/lib/python2.4/site-packages/yum/__init__.py”, line 647, in buildTransaction
(rescode, restring) = self.resolveDeps()
File “/usr/lib/python2.4/site-packages/yum/depsolve.py”, line 696, in resolveDeps
CheckDeps, checkinstalls, checkremoves, missing = self._resolveRequires(errors)
File “/usr/lib/python2.4/site-packages/yum/depsolve.py”, line 779, in _resolveRequires
thisneeds = self._checkInstall(txmbr)
File “/usr/lib/python2.4/site-packages/yum/depsolve.py”, line 851, in _checkInstall
provs = self.tsInfo.getProvides(*req)
File “/usr/lib/python2.4/site-packages/yum/transactioninfo.py”, line 432, in getProvides
result.update(self.getNewProvides(name, flag, version))
File “/usr/lib/python2.4/site-packages/yum/transactioninfo.py”, line 414, in getNewProvides
for pkg, hits in self.pkgSack.getProvides(name, flag, version).iteritems():
File “/usr/lib/python2.4/site-packages/yum/packageSack.py”, line 300, in getProvides
return self._computeAggregateDictResult(“getProvides”, name, flags, version)

最有
重新yum clean all后好了
问题真奇怪

分类: TroubleShooting 标签: , , ,

debian5上涌xen装debian4时的问题

2010年5月7日 哈哈 没有评论

朋友有台debian5的机器
上面装了自带的xen3.2.1
想在vm(xen)上再装个debian4
xen-create-image后
xm create vm1.cfg
启动这个vm(hostname=vm1)后
xm console vm1
进去发现没有获得shell
停在启动crond的后面
ssh连过去一看
出错提示:

PTY allocation request failed on channel 0
stdin: is not a tty

网上找了找
说是没装udev的原因
于是
xen-create-image时带上参数–role=udev
这样的话在安装的时候会装上udev包
重新做完,再重新起起来
xm console vm1看还是停在crond刚启动完的那里
但是ssh上去貌似已经好了

cgiproxy为啥就不能用来访问facebook呢

2010年4月21日 哈哈 1 条评论

在买的虚机上用cgiproxy搭了个在线代理
用来访问twitter还行
但是为嘛就不能用来访问facebook呢
一点browser进去就是个空白页(firefox下空白页,chrome下貌似是出错)
而且貌似这样一搞后
web server都有问题
再访问都出错
非得过一会儿才能恢复正常
真搞不懂是为什么

“secure ftp with TLS”后lftp连ftp时的问题

2010年4月13日 哈哈 没有评论

首先
是不能连
那么编辑本地文件/etc/lftp.conf
加上

set ftp:ssl-allow yes

后好了
能连上且能删除东西、新建目录了
但是一put东西
马上报:

Access failed: 521 Data connection cannot be opened with this PROT setting.

于是输入

set ftp:ssl-protect-data true

再put东西,好了
最后把set ftp:ssl-protect-data true一句加到/etc/lftp.conf中去

分类: TroubleShooting 标签: , ,

mke2fs不支持8T以上分区

2010年4月9日 哈哈 没有评论

有个柜子,10T
parted做了整一个分区
用mke2fs格式化分区的时候系统报错:

mke2fs 1.39 (29-May-2006)
mke2fs: Filesystem too large. No more than 2**31-1 blocks
(8TB using a blocksize of 4k) are currently supported.

不过貌似如果把blocksize设大一点,设成8192估计就能行了
像这样
mke2fs -j -b 8192 /dev/sdxn
不过我没试
呵呵
网上还有人说用-F参数能行,我感觉够呛

不过最后我还是将其格成xfs系统了
呵呵

mod_security和supesite7.5的诡异问题

2010年3月17日 哈哈 没有评论

一个朋友的supesite7.5的网站
发生了些诡异问题
1,管理员登录到站点管理后台后,再点击“退出”,结果会出403 forbidden错误;
这时的url是/batch.login.php?action=logout&refer=http://www.xxx.com,
但如果光是/batch.login.php?action=logout,这个没问题
2,当在系统管理的搜索引擎优化里的其他头部信息里填入含有”“的内容以后再保存,也出403 forbidden错误;
3,还有在采集器里编辑配置的时候,匹配文章内容的框里填某些东西后再保存或者测试都会出403 forbidden错误
也许还有其他
但只碰到这几个问题
查来查去不知所以
最后发现是apache配置了mod_security(准确讲应该是mod_security2)的缘故
因为最早在.htaccess文件里写:

SecFilterEngine Off

结果出500错误
log里说:

Invalid command ‘SecFilterEngine’

查了下知道SecFilterEngine是mod_security 1.x的写法
于是又写了

SecRuleEngine Off

到.htaccess文件里
结果还是出500错误
log里又说

.htaccess: SecRuleEngine not allowed here

后来联系管理员让其disable掉mod_security
一切就OK了

uch2.0仍然不能导入wordpress的日志

2010年3月12日 哈哈 没有评论

uch(ucenter home)2.0出了
但是貌似还是没有解决1.5的版本不能导入wordpress日志的问题
刚才试了
出错:

获取数据失败,请参考服务器返回:
post_status, custom_fields, 1150, _edit_lock, 1235824019