Archive for the 'Linux' Category
Monday, January 9th, 2006
提供锵锵三人行podcast以来,流量虽增加很多,但一直还维持正常水平,但最近几日突然增加了数倍,而且从awstats的统计日志中还可看到有极大数量的”Not viewed traffic(不可见流量)”,经查这部分主要是服务器响应为”206 Partial Content”的多线程下载流量。再这么下去,势必影响正常使用者的使用和服务器的其它功能。于是,我打响了下载专项治理的第一枪。
通过分析服务器日志,本次打击目标为以下两个:
1.严厉打击baidu mp3盗连现象
特征:
HTTP refer中包含”mp3.baidu.com”和”m?ct=”关键字。(前者为baidu的mp3索引爬虫,后者为实际的下载连接)
baidu真是猛,从它过来的mp3下载流量占到总量的80%以上,而且大部分人都使用多线程下载(最多的我还看到同时使用15个线程的)。
还好之前复习过了.htaccess文件的用法,现在一个文件就把baidu搞定了:
RewriteEngine on
RewriteCond %{HTTP_REFERER} mp3\\.baidu\\.com [NC,OR]
RewriteCond %{HTTP_REFERER} m\\?ct=
RewriteRule .* – [F]
2.严厉打击使用过多线程同时下载现象
我提供的这个服务主要是为了方便朋友们订阅podcast,所以不管是通过iTunes订阅还是通过podlook在线听的朋友都不会像上面提到那位用15个线程同时下载一个文件的(忘了说,他还同时下载两个文件呢)。其实大家都宽带了,使用单线程下载不会比15个线程慢多少,而且能够减轻服务器的负担,是对其他用户的一个最起码的尊重。
我使用了针对Apache 2的mod_limitipconn模块来限制单一IP的mp3文件的并发下载数为2。
安装很简单,大家可以参考这篇: Linux下Apache并发连接数和带宽控制。把相关的配置加在httpd.conf的虚拟主机部分就起作用了:
#### www.douzi.org ##############################
<VirtualHost 219.149.56.157>
DocumentRoot /usr/wwwroot/douzi/html
ServerAdmin admin@douzi.org
DirectoryIndex index.html index.php
ServerName www.douzi.org
ServerAlias douzi.org
ErrorLog /var/log/httpd/douzi/error_log
CustomLog “|/usr/bin/cronolog /var/log/httpd/douzi/access_log.%Y%m%d” combined
HostNameLookups [...]
Posted in Linux, apache | 5 Comments »
Tuesday, December 6th, 2005
Apache的配置文件.htaccess是个难点,也是个重点。一直都没安下心来好好学学,甚至一直以为Redirect方法是属于mod_rewrite,用到的时候也都是糊里糊涂的。今天找到了一个很好的教程,一边学,一边写点心得。
updated: 不断修正一些小问题
Source: Comprehensive guide to .htaccess
Officical reference: Directive Quick Reference
Posted in Linux | 2 Comments »
Friday, December 2nd, 2005
我制作了凤凰卫视的王牌谈话节目”锵锵三人行”的podcast,这下终于可以用ipod订阅收听了:)
节目来源为”凤凰网 – 凤凰之声“提供的免费音频,不过是mms协议的在线收听,我用mplayer将流dump下来(暂时在Linux下只有这个方法好用)为wma文件,然后还是用mplayer转成wav文件,最后用lame转换为mp3文件。RSS Feed是用php分析抓取凤凰网的介绍内容得到的,使用了curl库读取网页,iconv库转换内容为UTF-8编码。现在所有的工作都可以命令的方式执行了,所以进一步测试后使用服务器的cron功能每日定时制作就可以了,整个过程都在Linux平台下完成 :)
主要的转换部分的代码9月末的时候就写好了,今天主要是用PHP写了生成RSS Feed的部分。因为这个方法有一定的通用性,等我把cron部分搞定就把代码公开。
update: 源码下载
简要说明:
fetchmms 这个bash脚本用来完成获取wma -> wav -> mp3的过程,使用格式:
./fetchmms mms://www.douzi.org/test.wma data/test.mp3
update.php执行检查更新和更新数据的任务,它会调用 build_rss.php (更新rss) 和 fetch_file.php (更新mp3文件) 。配置信息写在 config.php 中。为了方便,我没有使用数据库,所有的资料存放在一个名为data文件的文本文件中。
cron使用也很简单: “crontab -e”输入:
02 1,13 * * * /usr/local/bin/php /home/windix/srx/update.php
代表每天的1:02和13:02两次尝试更新
锵锵三人行podcast订阅
PS. 凤凰网确实很为用户着想,自从有了凤凰宽频开始就提供坚持提供免费的锵锵三人行音频。但是mms在线收听的方式确实有很多不便之处,特别是有ipod用之后,弄这么个服务的念头有了很长时间了。不知道凤凰网什么时候能开窍,提供官方的podcast服务呢 :D 它那么多的节目源,在video ipod市场肯定有前途的。也许中国ipod用户太少是一个很大的门坎?
Posted in Linux, Programming | 4 Comments »
Friday, November 4th, 2005
昨天去见了负责我summer project的两位导师Saied和Adrian,并且拿到了在这个项目期间给我使用的Apple Powerbook 15″. 15″的本本比12″的宽了不少,但是键盘的大小没变化,所以乍看起来还有点别扭呢。两者间另一个明显区别就是键盘的背光了,15″以上的Powerbook的键盘能根据环境亮暗自动的点亮键盘背光。我拍了几张和我HP NC6000本本的对比照片,Apple用的仍然是MacOSX 10.3.9 Panther, 而不是最新的Tiger;HP用的是Ubuntu 5.04。乍看上去是不是差不多?:)
更多的请到flickr上看 :)
Posted in Linux, apple | 12 Comments »
Friday, October 28th, 2005
几天前豆子不小心把我的笔记本电脑(HP NC6000)摔到了地上,硬盘又坏掉了。
我的本子也算是多灾多难了,在保修期内,我已经找HP换过两次硬盘了。前两次似乎都是引导扇区坏了,反正打死都起不来。这次保修期刚过又坏了。不能找HP了,估计开机费就够换新硬盘的了。 不过这次还算给面子,启动机器没问题,就是Windows XP死慢死慢的,看来坏区不在引导扇区。我找出启动工具盘,用DM居然连低格都做不了,后来从里面翻出一个能检测并跳过硬盘坏区分区的程序,扫描了一晚上,终于能正常用了,不过也比较惨,划掉坏区后,40G的硬盘变4G了。
4G装XP肯定是不够用了,豆子还可怜巴巴的等着用笔记本看电影呢,我就决定装个linux + mplayer算了,刚好手边有前段时间申请的免费Ubuntu 5.04 Hoary Hedgehog光盘。
安装的过程真可以用畅快淋漓来形容。无线网卡(Atheros)顺利识别出来,直接在安装阶段就能上网了。声音也好用,显示看起来也没问题。默认直接采用UTF-8编码方式(en_AU.UTF-8),就连网上邻居(smaba)中文也都没乱码,第一次启动还自动网络升级。对笔记本的一些特殊功能也支持的很好,比如电池,CPU自动降频等等。
后来才知道,Ubuntu现在是HP官方支持的Linux发行版之一,HP甚至还专门有工程师在Ubuntu论坛答疑。我安装的标准版本表现都已经不错了,HP还专门有一个定制版本,几乎100%正常工作,包括待机、挂起和X下的3d驱动支持。不过要安装这个定制版本需要从头来过,不能在现有基础上升级 :( 所以我就没有弄。
最后加上universal的APT源,更新上OpenOffice.org 2.0版本和SCIM输入法 :P 一个完整的工作平台就完工了。Ubuntu真不愧这个现在最好的桌面Linux的称号。
一些小问题和解决方案以后有机会我会在这里补充的,反正查Google,查Ubuntu官方论坛和中文论坛基本上应该都能解决的。今天先说一个,关于声音的问题。
Ubuntu的桌面环境使用的是Gnome,它现在默认使用自己的那套esd (Enlightenment Sound Daemon),而不是我们通常使用的ALSA或者更老的OSS。esd的功能就是负责Gnome的背景音效,并且它有多音源同时发声的能力。我们自己安装的mplayer和xmms等默认都是使用ALSA,在X下会提示”/dev/dsp被占用”之类的错误信息而不能正常使用,是的,就是被esd所占用了。解决方法两种:关掉esd改回ALSA 或者 拥抱esd。
关掉esd可以 System > Preferences > Sound Preferences 中反选 Enable sound server startup 和 Sounds for events。然后在 System > Preferences > Multimedia Systems Selector 中选择Ouput/Input为ALSA。反正结果就是Gnome的背景音效不见了。
拥抱esd的方法就是在各个播放器中使用esd方式驱动。XMMS直接可以选。mplayer是我自己编译的,默认是没有的,首先需要安装esd开头的一些支持库,之后再重新编译就会自动认出esd驱动了。以后播放使用 mplayer -ao esd 参数OK了。这个方法暂时来看表现还不错。
Posted in Linux | 6 Comments »
Saturday, October 15th, 2005
今天从火炬的一篇Blog留言中看到这样的对话:
sinox2005 发表于2005-10-14 4:03 PM IP: 221.7.195.*
用汉澳sinox2005超级操作系统,你马上使用支持中文的bsd unix!一点也不操心!
virushuo 发表于2005-10-14 6:36 PM IP: 221.217.50.*
楼上四处叫喊了这么多年,怎么还如此不长进,拿别人的东西改改就算自己的了?红旗虽然不堪,人家至少还改了改。你呢?
好奇心驱使我连到sinox的网站上看了一下,然后就笑到要崩溃了。有句老话怎么说来的,“看过不要脸的,就是没看过这么不要脸的”。嗯,就是说sinox这种的了。转点过来娱乐一下,更多的内容大家还是去网站上自己看吧。
Posted in Linux | 4 Comments »
Thursday, October 13th, 2005
Linux下和Windows下都一样,只要把新版的Firefox 1.5 beta (当前是beta2),下载回来解包,然后启动,建立一个新的User Profile: “Firefox 1.5″。
以后使用原版的用:
firefox -P default
使用新版的用
/path/to/new/firefox -P Firefox\ 1.5
Windows下可以写到快捷方式里,Linux下写成个shell脚本方便调用。
我上次把新的Firefox安装在/usr/local/firefox_1.5b1下,然后用
ln -s /usr/local/firefox_1.5b1 /usr/local/firefox
建立一个符号连接,启动使用
/usr/local/firefox/firefox -P Firefox\ 1.5
这次升级,解压到/usr/local/firefox_1.5b2下,删除原来的符号连接,重建个新的指到firefox_1.5b2下,原有的配置文件都不用动。
Linux就是这么方便 :P
用不同的profile使用两个版本的Firefox的idea来源于cathayan – Firefox 1.5 beta1初步感受
Mozilla Firefox 版本号变化:
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8b4) Gecko/20050908 Firefox/1.4
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8b5) Gecko/20051006 Firefox/1.4.1
Posted in Linux, Software Tips | Comments Off
Thursday, October 13th, 2005
source: moZine论坛 – Firefox使用、设置和常见问题的解决方法
在地址栏输入 about:config,然后找到“middlemouse.contentLoadURL”并将其设置为 false。
Linux下的Firefox终于用起来和Windows下的一样了:)
Posted in Linux, Software Tips | Comments Off
Wednesday, October 12th, 2005
我现在在Linux下使用的是SCIM输入法,不过不用智能拼音模块(谁让它不支持双拼),而是使用SCIM通用码表的自然码模块(谁让我是这么怀旧的人呢:P)。早就发现SCIM支持自造词功能,但是一直不知道怎么用,官方网站上没有,README没有,Google也未果。今天总算让我机缘巧合给尝试出来了:
首先输入要造的词xxx,选中后按Ctrl+A,会有一个小工具条提示”Input a key string for phrase: xxx”,然后你输入它的编码后回车确认,这个词就造好了。
该方法应该适用于所有使用SCIM通用码表的SCIM输入法。
Enjoy~
Posted in Linux | 1 Comment »
Friday, August 5th, 2005
根据我在网上查到的结果,HP NC6000可能搭载不同的无线网卡模组:
Intel PRO/Wireless 2100 或 2200BG;
Atheros AR5212 802.11abg
这两种无线网卡的驱动在Linux kernel 2.6中都是不带的,所以都要自己编译安装。Intel的可以根据型号选用 IPW2100 / IPW2200,Atheros 使用 madwifi。
我的 NC6000 配的是后者,所以下面我简单记录一下 madwifi 在 Gentoo Linux 下的安装配置过程。
Posted in Linux | 1 Comment »