Entries Tagged as ''

一台apache2当掉引发的思考

昨天晚上,短信报有台机器apache当掉了
上去看,httpd进程都在,但是的确是访问不了了
再看access_log文件,2G
于是自然先备份access_log
再清空access_log
重启一下apache
系统好了
于是理所当然认为是系统自带的apache2不支持大文件导致的事故
于是今天就忙着解决这个问题
还想到用cronolog在日志文件里加一个”%p“的参数
来把每天的log拆成上午(AM)、下午(PM)两个
这样日志文件超过2G的可能性就小了很多
但最后还是重新用了一个源代码编译的加了大文件支持的apache2

后来仔细想想才发现有问题:

就算系统自带的apache2不支持大文件,但是apache2并没有自己记log,而是扔给cronolog来记日志的,这样的话就跟apache2支不支持大文件有什么关系了

最后经过完整的测试才发现果真有些问题
cronolog(1.6.2)不支持大于2G的log文件
今天又发现cronolog原来还有个1.7.0beta,在这里
它直接就支持大文件,编译的时候不需要特殊的设置

今天的测试还有个结论:
Fedora Core 3自带的httpd2支持大文件

在线centos4.4升级到centos5.0

自打RedHat推出Enterprise advance server 5之后
centos也及时推出了ceotos 5
这里是升级文档(centos4.4–>centos5.0)

Online Upgrade from CentOS-4/Final

The best way to move from CentOS-4 to CentOS-5 is via an installer
upgrade. However if you must do it online, here are some tips to help:
- Remove as many packages as you can, strip it right back to the
original OS if possible
- Backup everything
- Disable all repositories, except the centos-5 OS and Updates repos
- init 3
- shutdown as many services as possible
- download and install the centos-release-5.x rpm, which will update
your yum configs
- run a yum upgadeupgrade ( not update )

文档出自centos的官方网站这里

rpm -Uvh http://mirror.centos.org/centos/5/os/i386/CentOS/centos-release-5-0.0.el5.centos.2.i386.rpm http://mirror.centos.org/centos/5/os/i386/CentOS/centos-release-notes-5.0.0-2.i386.rpm
这是因为centos-release包依赖于centos-release-notes包,所以升级centos-release就必须同时升级centos-release-notes
然后
cd /etc/yum.repos.d
cp -f CentOS-Base.repo.rpmnew CentOS-Base.repo


这样的话就可以先rpm -qa | grep kernel看看有些什么老版本的kernel
然后再用命令rpm -e –nodeps –justdb kernel-xxx(这是上一步grep出来的系统存在的老版本的kernel)
必须先做这一步,否则直接yum -y upgrade的话会出这里可能会出一堆的错误
大概意思就是hal、kudzu、initscript等包跟kernel版本冲突(就是说新版本的kernel跟老版本的kernel冲突)
然后再yum -y upgrade大概就不会有什么问题了
upgrade完了之后再install新系统(centos5)的kernel
yum install kernel kernel-PAE
这时候也还可能出错
是因为系统里有好多包是centos4和centos5并存
这样的话新kernel和老的(centos4)的包冲突
出现这样的问题简单
先rpm -qa | grep xxx看一下
一般情况肯定会有2个xxx的包
把老的那个rpm -e掉
循环做,直到所有的冲突包都解决掉
比如我这里
rpm -e e2fsprogs-devel-1.35-12.4.EL4 e2fsprogs-1.35-12.4.EL4 isdn4k-utils-3.2-18.p1.1 selinux-policy-targeted-1.17.30-2.140 nfs-utils-1.0.6-70.EL4 procps-3.2.3-8.4 udev-039-10.15.EL4 ppp-2.4.2-6.4.RHEL4 iptables-1.2.11-3.1.RHEL4
一般这样之后
yum install kernel kernel-PAE就不会出错了
最后再重启机器
应该就是centos5的系统了

ubuntu6.10下竟然没有/etc/grub.conf文件

以前一直用RedHat的东西
没怎么接触过debian
最近在我的桌面机上发现竟然没有文件/etc/grub.conf!!!!!
后来查了查
发现ubuntu6.10没有grub.conf文件
取而代之的是在/boot/grub目录下的menu.lst文件
真长知识呀
真搞不懂
都是linux
为什么还搞的这么不一样呢
这样给使用者早成多大的麻烦呀
难怪还没把windows干趴下

vim出”E513: write error, conversion failed”的错误

有一个python程序(就是网上流传的从百度下mp3的那个)
我用vim打开之后
不做任何动作
直接q出来
提示:

E37: No write since last change (add ! to override)

于是我再x出来
又提示出错:

E513: write error, conversion failed

网上搜了一下
有的说set fileencoding=prc一下就好
有的说set encoding=prc一下就好
这两种方式我都试过
好像不行
系统当前的encodingeuc-cnfileencodingutf-8
系统是Fedora Core 4 + vim 6.3.86

“是否添加sogou的搜索button到google toolbar?”

前几天刚发现打开百度首页的时候出是否添加百度的custom search button到google的toolbar
(具体文章见这里)
今天打开搜狗首页的时候却发现也弹出了窗口提示是否添加sogou的custom search button到google的toolbar
下面是截图(点击看大图):
add_custom_button_sogou.JPG

用CPAN安装perl包HTTP::Proxy的问题及解决

系统fedora core 4 + perl 5.8.6
用cpan模块儿(perl -MCPAN -e shell)安装perl包HTTP::Proxy的时候报错:

t/90diveintomark….ok 7/22# Failed test (t/90diveintomark.t at line 75)
# got: ‘500′
# expected: ‘302′
t/90diveintomark….ok 21/22 make: *** wait: No child processes. Stop.
make: *** Waiting for unfinished jobs….
make: *** wait: No child processes. Stop.
/usr/bin/make test — NOT OK
Running make install
make test had returned bad status, won’t install without force

到”t/90diveintomark….ok 21/22“这一步会停留很长时间
google了一把
发现HTTP::Proxy需要

HTTP::Daemon 1.36
LWP::UserAgent 2.033
Test::More 0.60

所以要求这几种包及其版本
然后我就install HTTP::Daemon
发现HTTP::Daemon is up to date.
然后install LWP::UserAgent
又是up to date.
最后install Test::More
这下开始安装了
OK后
再重新install HTTP::Proxy就没问题了