Monthly Archive for July, 2006

The last day is another new day

今天辞职了,准备这周就去成都,一切都很自然,可能是我习惯了。或是有更重要的事情等着我去做,是吧,我相信这不是结束而是开始,其实我的每一天都是新的。

或许我不能让时间倒转,也不能预言未来,但是我相信我能把握现在。就象离开重庆去成都一样。

ubuntu dapper 中totem启动崩溃的问题

在直接启动 totem 的时候就崩溃,可以通过缩小
/usr/share/totem
中,totem_logo.png 的尺寸来解决。可以用Gimp。

Apache上安装MoinMoin

我在Apache(Unix)2 上安装了MoinMoinWiki,非常简单,首先你应该确定你的系统安装有Python2.3或以上版本。
在MoinMoin的sf.net上下载最新的版本,下载到你的服务器上,解包,运行

1
$ python setup.py install

这样MoinMoin就被安装到你的 /usr/local/lib/python2.4/site-package/MoinMoin 中去了。
再把 wiki/htdocs 中的内容拷贝到服务器的根目录下,比如 /wiki,然后再将 wiki/server/moin.cgi 也拷贝到 /wiki 下。最后访问 http://youhost/wiki/ 就可以见到MoinMoin了。

关于恶意网路抓取程序的判断

两天以来服务器都在超负载,特别是Apache和MySQL,应该是由于恶意的网路抓取程序引起,于是利用这个脚本初步判断了一下

1
2
3
4
5
#!/bin/sh
PORTS=$HOME/tmp/port.txt
REPORT=$HOME/tmp/report.txt
netstat -antu > $HOME/tmp/port.txt
for x in `grep "61.186.250.32" $PORTS | grep ESTABLISHED | grep -v "0.0.0.0" | awk '{print $5}' | grep -v 61.186.250.32 | sort | awk -F : '{print $1}' | sort | uniq`; do grep $x $PORTS |  wc -l | tr -d '\n'; echo "   : $x"; done | sort -rn > $REPORT ; head -20 $REPORT ; wc -l $REPORT

运行返回

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    211   : 222.182.70.xxx
     58   : 61.143.90.106
     23   : 202.160.178.67
     16   : 61.51.227.174
      9   : 60.1.234.85
      9   : 221.203.144.53
      4   : 202.108.22.78
      2   : 221.204.212.221
      2   : 202.160.180.83
      2   : 202.160.179.116
      1   : 66.249.72.8
      1   : 61.128.128.68
      1   : 220.205.141.24
      1   : 211.95.217.216
     14 /home/fred/tmp/report.txt

这样数据,找到了一直访问服务器的IP,当然是通过两天多次的抓取分析得到的结果,不过其实可以使用脚本自动抓取判断,使用diff, vimdiff加以判断,这样在处理较大数量和较大数据的情况上将会非常有用。

修改MySQL用户密码

  1. #在控制台上输入
    1
    bash$ mysql -u root mysql

    #用mysql客户程序

    1
    2
    3
    mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='hunte';
    mysql> FLUSH PRIVILEGES;
    mysql> QUIT
  2. #在控制台上输入
    1
    2
    3
    bash$ mysql -u root mysql
    mysql> SET PASSWORD FOR hunte=PASSWORD('new password');
    mysql> QUIT
  3. 1
    2
    #直接在控制台上输入
    bash$ mysqladmin -u root "old password" "new password"

A free new web template

Last week, I designed the new web template under GPL lisence. You can download and codeview at here.

眼底星空

[audio:http://proc.3322.org/audio/sky_in_my_eyes.mp3]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
眼底星空
李圣杰

你好喜欢看我眼睛
你说是宇宙的缩影
只要没有分离
天气晴能看见星星
我努力爱你宠你调整自己
我是邻居还是伴侣
时间带来残忍结局
在爱情的隔壁住友情
界线太锐利
对不起就一刀切开所有亲密
眼底星空
流星开始坠落
每一滴眼泪说着你要好好走
转过身跌入黑洞
看着天长地久变两种漂泊
男人流泪比流血加倍心痛
眼底星空
流星跌落手中
我静静握着抬头向上天祈求
愿你先找到温柔
有人包扎伤口也挡住寂寞
谢谢你陪我陪爱听雨吹风

用三年去维系感情
用三秒钟结束关系
剩回忆能回去能温习能把你抱紧
就算爱烧成灰烬扬起变乌云
谢谢他给你给爱另一个星空

奇怪的硬盘问题,被修复

我在公司电脑的 /dev/hda10 一直感觉不对,不知道是不是有坏道,也没管它,今天早上启动 Ubuntu Dapper 的时候 /dev/hda10 就不能挂载,fsck 也不行。可以看看下面的具体情况

1
2
3
#fsck -f /dev/hda10
fsck.ext3: Attempt to read block from filesystem resulted in short read while trying to open /dev/hdb1
Could this be a zero-length partition?

使用 mesg | grep -i hda 查看

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[4294714.162000] hdb: dma_intr: error=0x40 { UncorrectableError }, LBAsect=183, high=0, low=183, sector=80
[4294714.162000] end_request: I/O error, dev hdb, sector 80
[4294714.162000] Buffer I/O error on device hdb, logical block 10
[4294715.710000] hdb: dma_intr: status=0x51 { DriveReady SeekComplete Error }
[4294715.710000] hdb: dma_intr: error=0x40 { UncorrectableError }, LBAsect=183, high=0, low=183, sector=88
[4294715.710000] end_request: I/O error, dev hdb, sector 88
[4294715.710000] Buffer I/O error on device hdb, logical block 11
[4294717.258000] hdb: dma_intr: status=0x51 { DriveReady SeekComplete Error }
[4294717.258000] hdb: dma_intr: error=0x40 { UncorrectableError }, LBAsect=183, high=0, low=183, sector=96
[4294717.258000] end_request: I/O error, dev hdb, sector 96
[4294717.258000] Buffer I/O error on device hdb, logical block 12
[4294718.831000] hdb: dma_intr: status=0x51 { DriveReady SeekComplete Error }
[4294718.831000] hdb: dma_intr: error=0x40 { UncorrectableError }, LBAsect=183, high=0, low=183, sector=104
[4294718.831000] end_request: I/O error, dev hdb, sector 104
[4294718.831000] Buffer I/O error on device hdb, logical block 13
[4294720.379000] hdb: dma_intr: status=0x51 { DriveReady SeekComplete Error }
..................

也不知道是不是坏了,但是在 fdisk -l 查看硬盘一切都很正常,最后在搜索N次之后使用了以下方法在搞定。

1
2
# mke2fs -n /dev/hdb1
# e2fsck - b 32768 /dev/hdb1

NFS服务器与客户端设置

在公司的电脑硬盘不够用,所以就使用了一台Linux服务器来运行NFS服务扩充硬盘。
首先在服务器(Server)上需要安装 portmap 和 nfs 软件包,先来看看Vbird上关于NFS的讲解

NFS為 Network FileSystem 的簡稱,最早之前是由 Sun 這家公司所發展出來的,他的目的就是想讓不同的機器、不同的作業系統可以彼此分享個別的檔案啦!目前在 Unix Like 當中用來做為 file server 是相當不錯的一個方案喔!基本上, Unix Like 主機連接到另一部 Unix Like 主機來分享彼此的檔案時,使用 NFS 要比 SAMBA 快速且方便的多了!此外, NFS 的設定真的很簡單,幾乎只要記得啟動 Remote Procedure Call (RPC)這個咚咚 ( 就是 portmap 這個套件啦! ) 就一定可以架設的起來!真是不錯啊!不過,如果要達成 Windows 與 Linux 之間的溝通,那麼還是以 SAMBA 比較容易啊!無論如何, NFS 還是可以做為小公司或學校單位內部 Unix Like 機器共享 file 的一個 Server 喔!

然后就是在 /etc/exports 对NFS服务作设定,我的是这样的:

1
/home/web/fred 192.168.0.119(rw,all_squash,anonuid=512,anongid=512)

接下来启动服务

1
2
# /etc/rc.d/init.d/portmap start
# /etc/rc.d/init.d/nfs start

检查是否正确启动

1
2
3
4
5
6
# tail /var/log/messages
Nov 16 15:04:45 test portmap: portmap startup succeeded
Nov 16 15:04:53 test nfs: Starting NFS services:  succeeded
Nov 16 15:04:54 test nfs: rpc.rquotad startup succeeded
Nov 16 15:04:54 test nfs: rpc.mountd startup succeeded
Nov 16 15:04:54 test nfs: rpc.nfsd startup succeeded

从客户端查看一个NFS服务器有哪些挂载的NFS目录

1
2
3
4
5
6
# showmount -e test.linux.org
Export list for localhost:
/tmp           *
/home/linux  *.linux.org
/home/public (everyone)
/home/test   192.168.0.100

在客户端挂载NFS目录

1
2
3
4
5
6
7
8
9
# mkdir -p /home/nfs/public  
# mount -t nfs test.linux.org:/home/public /home/nfs/public
掛載的格式:
# mount -t nfs hostname(orIP):/directory /mount/point
# df
Filesystem              1K-blocks    Used    Available Use% Mounted on
/dev/hda1              1904920   1235380  572776  69%   /
/dev/hdb1              976344    115212    810736  13%   /backup
lab:/home/public     1904920   1235376   572776  69%   /home/nfs/public

在客户端卸載NFS目录

1
# umount /home/nfs/public

如果想要在启动时就挂载NFS目录,则需要在 /etc/fstab 中加入

1
lab:/home/web/fred      /home/fred/nfs  nfs  rw   00

最后如果遇到问题,注意Vbird讲的注意重点:

  1. Network FileSystem (NFS) 可以讓主機之間透過網路分享彼此的檔案與目錄;
  2. NFS 主要是透過 RPC 來進行 file share 的目的,所以 Server 與 Client 的 RPC 一定要啟動才行!
  3. NFS 主機可以控制連線的 Client 端的登入與權限;
  4. NFS 的設定檔就是 /etc/exports 這個檔案;
  5. NFS 的重要登錄檔可以參考 /var/lib/nfs/xtab 這個檔案,還包含相當多有用的資訊在其中!
  6. NFS 主機要關機之前,請務必先關閉 portmap 與 nfs server ,否則關機無法順利成功;
  7. NFS 主機在更動 /etc/exports 這個檔案之後,可以透過 exportfs 這個指令來重新掛載分享的目錄!
  8. 可以使用 rpcinfo 來觀察 RPC program 之間的關係!!!
  9. NFS 主機在設定之初,就必須要考慮到 client 端登入的權限問題,很多時候無法寫入或者無法進行分享,主要是 Linux 實體檔案的權限設定問題所致!
  10. NFS 的防火牆設定可以透過控制 RPC 的主要 port ,亦即是 111 這個 port 來管理!此外,亦可透過 TCP_Wrappers 來管理!
  11. NFS 用戶端只要成功 mount NFS 主機分享的目錄之後,使用上面就好像自己的 partition 一般;
  12. NFS 用戶端可以透過使用 showmount, mount 與 umount 來使用 NFS 主機提供的分享的目錄!

天气很热

这一周真的很热,今天是德国世界杯的决赛,周末回到家一直在弄我的系统,从桌面的WinXP到Laptop上的Ubuntu Dapper,忙得不亦乐乎……

现在真的不敢用管理员帐户来使用WinXP了,被那些无耻的流氓软件害惨了,手工在DOS下删,好不容易把系统弄干净了,现在建了一个普通用户,似乎一切又平静了,希望一直如此。在ZYJ的Blog上看到了Zoundry这个Blog桌面发布工具,下载了下来,感觉还不错,这篇日志就是用它来写作的。并且这是一个免费软件。

在ACER的Laptop上遇到了新的kernel的SMP问题,在Launchpad上看到了解决方法,可是测试只能使用把686换成386内核的方法。BCOM的无线网卡启动后不能立刻连接的问题也解决了,可能下周回来得研究一下CPU的风扇问题,不过说实话现在的风扇运转还算正常,不会象有的人描述的那样一直狂转。顺便把CPU的频率限制在了800MHZ,天气热了,受不了~

七月过了三分之一了,除了工作,在世界杯结束后我应该更加努力了,充实Unix/Linux管理知识,补习一些网络和计算机的基础知识,争取在8月中完成任务。不,不是争取,是一定要!