I am LAZY bones ? all linux

2009年 02月 的归档

li2z.cn更换空间

2月24日是工信部下令关闭所有未备案的网站的最后期限,所以也成了li2z.cn在国内空间生存的最后期限。在此我也不想多作评论,我的想法大家也肯定清楚,虽然我目前身在天朝首都,但在精神上却已经流亡国外了。上头这样的举措,只会让我这样的标准”良民”,向反动派推进,给他们增加一个潜在的敌人罢了。
在此,我首先要感谢lupa,之前一直是由lupa免费提供的空间,因此,管理员walkerxk也为我们费了不少心思。
然后要感谢的就是TX兄了,现在我用的就是他用人民币买来的空间,呵呵。

PS: 我现在的网络居然灯录登录不了WP的后台,害的我这几天都没有更新,今天才想到俺还可以用俺的小黑莓上来写点东西,嘿嘿。。
再PS:发现用黑莓打字,错别字特多。。。

GAppProxy

其实这个好东西TX已经介绍过了,但是我还是想再罗嗦几句,就算是给好东西打打广告吧。
下载了python语言的源码,打开一看,出奇得简单,一共两个文件,连注释也才400行左右,不知该夸作者牛还是夸python强大,呵呵,其实肯定是两者皆是吧。
我目前在的教育网号称是不能访问国外的网站(残废啊。),但是不知道为什么,我这个cn域名的国内空间的blog也不能访问,于是只能找代理了,嘿嘿。这个的速度还是不错的。
需要的朋友在这里下载。

北京杂记

其实周日就已经出差来北京了,但是一直觉得没啥好写的,所以blog许久没更新了;也正是因为blog太久没更新了,所以随便发点我在北京的见闻上来,凑凑数。
话说我这辈子还是第一次来北京,在这天子脚下,心里不自觉得都会小心翼翼一点,生怕会捅出什么篓子来。在这样的心理作用下,发现京城一切都很是和谐:伴随着《北京欢迎你》的优美歌声下的飞机,没有看到到处推销地图的,也没有看到像杭州一样在路边带路为生的。感觉北京的大街上比起南方的城市来略微显得有点冷清,后来我想到了一个可能的原因,那是因为北京的天气比较冷,但是房间内的暖气却很舒服,所以大伙儿都不太愿意出来了,嘿嘿。不过,我刚从杭州的28.5度转到北京的-7度,居然也没感觉到冷很多。集中供热的暖气真是舒服啊。
北京从前天开始就下起了雪,据说也是2009年的第一场雪,就被我给赶上了,北京的雪特细,下在地上却不容易化──可能是温度和湿度的关系吧──所以下了以后很容易就积起来了,到现在外面以后有6~7cm厚了。倒是也蛮好看的。
另外,北京的饭馆也比较有意思,这个全国的文化政治中心倒也名副其实,饭馆里南方菜北方菜都有,而且有些菜名很奇怪,比如:“盒子”/“咕咾肉”/“褡裢火烧” 之类的,我之前都没听说过,口味也蛮特别的,呵呵。
还有必要提一下我住那地方的网络,我是在一个农大的朋友那借宿,里面是农大的局域网,上“外网”还得到主页上输下用户名密码,为什么这个“外网”要打引号呢?因为这个“外网”不是真正的外网,是有限的外网,好处是可以上国内的网络,不过经过我的试验,居然都打不开本blog,说来也怪,这是cn的域名+国内的空间,咋就打不开呢?敢情是知名度不高,所以没在网关的白名单里面的缘故?唉。。。
和谐啊~

终于用上了9.1的官方A卡驱动

经过好几天的折磨(详情可以看这里),总算成功用上了新的A卡驱动。
之前一直是用的8.552的驱动,可以开compiz,但是mplayer用xv不行,开个 googleearth也闪得厉害。
也曾经升级到 8.561 ,就已经发现了问题,当时是开了gdm的,开机以后,出来gdm的界面,但是都来不及输入用户名和密码就黑掉了,过一会儿又会显示gdm,又挂掉,如此反复,6次以后会出来提示说挂了6次,不启动了。那时候觉得 8.561和8.552差不多,就mask了8.561的版本,回退到8.552了,也正常了。
但是最近这个8.573据说是解决了闪的问题,更新蛮大的,所以又想升级,但是还是和8.561一样的错误,一到gdm就崩溃。连续重启动。
然后经过千辛万苦,终于发现是 /etc/X11/xorg.conf 的 Section “Device” 一段里面的 Option “TexturedXRender” “on” 引起的错误。把这行注释以后,就整个都好了。哈哈。但是说来也怪,这个配置文件是ubuntu生成的,在ubuntu下运行没问题,在gentoo的8.552版本驱动下也没问题的啊。。。
还有,就是为什么我开了compiz以后,google-earth还是会闪呢?貌似没有多大的提高啊。。。谁能告诉我还需要如何配置吗?

拔牙记

过完春节从老家回来以后,牙齿就开始隐隐作痛了,刚开始还是偶尔痛一下,后来越来越痛,几天都不见好转。
终于我受不了了,于上周六上午10点多到医院挂号看牙齿,但是却被告知要下午1点以后才能挂号了,于是乎等了几个小时,终于挂到号了,是下午的33号,继续等,结果到了下午5:30以后才轮到我。医生稍微看了一下,告诉我,要先拍个X光,明天再来看过。我一天的等待就换来了这么简单的几句话。。于是拍了片走人。
周日我起了个大早,比平时上班还早,去挂号,终于工夫不负有心人,挂到了上午的4号,等不了多久就轮到我了,医生又一看,说最里面的那颗智齿横着长了,必须要拔掉,但是目前牙龈还有点发炎,不能马上拔,要先吃两天消炎要再说。然后配了点药就又回家了。
接下来的几天,我每天都按时吃药,然后今天请了一天宝贵的年休假,再次去医院准备最后的拔牙。在给实习医生当了一次免费的活体讲课道具以后,终于要给我拔牙了:医生倒也直接,花10秒钟把下面的牙龈挑开(这步骤大致叫做“分根术”,价值¥90)后,拿个锥子放到牙齿上,就是一锤,然后就用钳子拔牙齿拿了出来。(这个步骤叫做“阻生牙拔除术”,价值¥110)。。。。那个痛啊。。。
接着挂了点消炎药的水,就回家了,总的来说还算顺利。。。
打开 gcalctool 算了一下,为这颗牙齿一共花了我 ¥583.15 ,其中自理费用 ¥39.04 ,不知道是该高兴好还是悲哀好,呵呵。
高兴是因为医保终于起到作用了,而且作用还蛮大的。
悲哀是因为好不容易攒了几年的医保金额,为这一颗牙就花掉了大半了。。。

好玩的命令大收集

http://www.commandlinefu.com/commands/browse 这个是在 linuxtoy 上看到的一个新开不久的站点。
喜欢命令行的同学可以上去瞧瞧,或者发布几个自己收藏的命令出来分享。
这个想发可能很小众,但是相当有创意。
里面有写命令确实比较绝,现在看来,这个站点的评分功能在firefox下还用不了,其他都正常。
希望以后能发展壮大,给我们带来更多好玩的命令。

linux下架设个人电台的方法

两年前(基本上刚好是两年了),我还在用windows的时候,曾经写过一篇win下架电台的文章,后来不用windows了,基本上也就没搞过这个事情了,最近看到有个icecast,就忍不住试了一下,在这里汇报下结果。
首先用于广播的,不用说就是icecast了,安装也就不说了,emerge或者apt-get随便,反正不是难事。装完以后,稍微修改一下 /etc/icecast2/icecast.xml ,里面的内容基本上很好懂,是xml格式,注意 icecast–limits–clients 是最大用户数,按需修改;icecast–authentication–source-password是源密码,这里随便设置一个,后面要用到的;admin-user和admin-password是web管理的时候的用户名和密码,按需修改;listen-socket — port 默认是8000可以不用动,注意这个端口不仅是web管理的端口,也是音频源的连接端口。其他的基本上默认就没问题了。
然后是用于产生音频源的软件,有如下几个选择:

  • darkice :只能从声卡获得数据,还需要播放器支持。同时声卡要被占用,重采样以后可能会对音质有影响,我没有用这个。
  • ices 2.X :支持声卡模式和文件模式,但是文件只能打开ogg格式的声音,我这里ogg格式的不多,基本没用
  • ices 0.X :这个系列的倒是支持从mp3文件获取流,但是不管是gentoo还是ubuntu的源里都没有,需要自己编译。我下载了 ices 0.4 ,编译安装后,怎么配置都连不上源,而且软件包里面自带的文档居然有很多无效的内容,照着配是会出错的,还得我看源码才配置好,但是还是不能把数据送到icecast,出现了 socket error。。。
  • mpd :这个是我试成功的一个,mpd/mpc的用法可以自己google一把,这里就稍微提下不同点。

mpd用于icecast唯一的区别就是在 /etc/mpd.conf 里面,audio_output 那段要如下设置:

audio_output {
	type			"shout"           #必须
	name			"bones radio"     #随便起个名
	host			"localhost"       #icecast主机
	port			"8000"            #icecast端口
	mount			"/mpd"            #挂载点
	password		"xxx"             #icecast密码
	bitrate			"128"             #比特率
	format			"44100:16:2"	  #格式
	user			"source"          #icecast用户名
	encoding		"mp3"             #输出流编码方式
}

好了,配置完了以后,就
sudo /etc/init.d/icecast start
sudo /etc/init.d/mpd start
启动服务,再用你的mpc控制mpd播放,就可以对外广播啦。
收听广播,执行 mplayer http://your-IP:your-port/mpd 就行了。还可以用浏览器打开 http://your-IP:your-port 就可以看到当前播放的信息等,用之前说的web管理用户名和密码登录还可以看到更多信息和进行更多操作。

万恶的电信

升级ubuntu,最近老是遇到这样的错误:

59% [39 Packages bzip2 0] [正在登录]bzip2: (stdin) is not a bzip2 file.
错误 http://archive.ubuntu.com intrepid-updates/main Packages
  子进程 bzip2 返回了一个错误号 (2)
。。。
W: 无法下载 http://archive.ubuntu.com/ubuntu/dists/intrepid/main/binary-i386/Packages.bz2  子进程 bzip2 返回了一个错误号 (2)

一堆这样的,导致升级失败,我就郁闷了,于是这样:

$ wget http://91.189.88.31/ubuntu/dists/intrepid/main/binary-i386/Packages.bz2
--2009-02-04 13:47:46--  http://91.189.88.31/ubuntu/dists/intrepid/main/binary-i386/Packages.bz2
正在解析主机 proxy.zj.chinamobile.com... 60.191.124.236
正在连接 proxy.zj.chinamobile.com|60.191.124.236|:8080... 已连接。
已发出 Proxy 请求,正在等待回应... 200 OK
长度: 949 [text/html]
保存到‘Packages.bz2’
 
100%[============================================>] 949         --.-K/s   in 0s      
 
2009-02-04 13:47:46 (49.8 MB/s) - `Packages.bz2' 已经保存 [949/949]

居然这么小,发现不对劲了:

$ file Packages.bz2
Packages.bz2: HTML document text
$ cat Packages.bz2
<html><head><link rel="stylesheet" type="text/css" href="http://60.191.124.222:8080/css.css?aimt=241" /></head>
<script type="text/javascript">
var pp = "241&pre="+(new Date()).getTime();
var s=String(window.location.href);
var host=escape(s.substring(7,s.indexOf('/',7)));
var ref=escape(document.referrer);
s = escape(s); 
function loadfr(){ document.getElementById("fr1").src = "http://60.191.124.222/dnsC.aspx?AIMT="+s+"&host="+host+"&refer="+ref+"&server="+pp; }
function refreshPage(){ document.location = "http://60.191.124.222/dnsB.aspx?AIMT="+s+"&host="+host+"&refer="+ref+"&server="+pp; }
if (self.location == top.location){ document.location="http://60.191.124.222/dnsA.aspx?AIMT="+s+"&host="+host+"&refer="+ref+"&server="+pp; }
else { setTimeout("loadfr()",500); setTimeout("loadfr()",1200); setTimeout("refreshPage()",2000); }
</script><frameset rows="*,0"><frame id="main" src=""><frame id="fr1" src=""></frameset><body></body></html>

然后发现用firefox下载这个文件倒是正常的,因为firefox能执行那JS,能跟着转下去,一查 60.191.124.222 这个IP,果然是垃圾电信的,这TMD哪能叫运营商啊?简直一强盗,可以这样随随便便把客户地文件给换掉吗?这算是哪门子道理啊?简直无语了。。。
各位,这种问题有什么解决方案没?

查询IP的脚本和增强的traceroute

查询IP的脚本不是我写的,是AutumnCat以前发在ubuntu-cn上的,用的数据库是纯真IP数据库,可以下载脚本放到PATH变量覆盖的目录,并下载数据库文件,解压后把脚本里的 DataFileName 一行指向数据库的真实位置,最终达到这样效果:

$ myip
211.155.225.207
$ cip 211.155.225.207
浙江省杭州市电信IDC机房
$ myip | cip -
浙江省杭州市电信IDC机房

然后就可以这样使用增强的traceroute了:

$ traceroute li2z.cn | awk -F"[()]" '{if($2~/[0-9\.]./){printf("%s |",$0);system("cip "$2);}else{print $0}}'
traceroute to li2z.cn (122.224.99.37), 30 hops max, 60 byte packets |浙江省杭州市电信
 1  192.168.4.1 (192.168.4.1)  0.163 ms  0.159 ms  0.296 ms |局域网对方和您在同一内部网
 2  211.155.224.1 (211.155.224.1)  0.675 ms  0.830 ms  0.920 ms |浙江省杭州市电信IDC机房
 3  61.130.4.201 (61.130.4.201)  0.761 ms  0.813 ms  0.862 ms |浙江省杭州市电信
 4  50.166.175.61.broad.hz.zj.dynamic.163data.com.cn (61.175.166.50)  1.161 ms  1.212 ms  1.232 ms |浙江省杭州市电信
 5  122.224.99.254 (122.224.99.254)  0.966 ms  1.034 ms  1.161 ms |浙江省杭州市电信
 6  122.224.99.37 (122.224.99.37)  0.992 ms  0.929 ms  0.916 ms |浙江省杭州市电信
$ traceroute google.com | awk -F"[()]" '{if($2~/[0-9\.]./){printf("%s |",$0);system("cip "$2);}else{print $0}}'
traceroute to google.com (74.125.67.100), 30 hops max, 60 byte packets |美国 CZ88.NET
 1  192.168.4.1 (192.168.4.1)  0.174 ms  0.165 ms  0.162 ms |局域网对方和您在同一内部网
 2  211.155.224.1 (211.155.224.1)  0.642 ms  0.809 ms  0.901 ms |浙江省杭州市电信IDC机房
 3  61.130.4.201 (61.130.4.201)  0.731 ms  0.770 ms  0.828 ms |浙江省杭州市电信
 4  61.164.3.93 (61.164.3.93)  1.650 ms  1.720 ms  1.824 ms |浙江省杭州市电信
 5  61.130.125.25 (61.130.125.25)  1.508 ms  1.551 ms  1.540 ms |浙江省丽水市电信
 6  220.191.158.253 (220.191.158.253)  1.206 ms  1.187 ms  1.173 ms |浙江省杭州市电信
 7   (202.97.47.30)  22.003 ms  24.931 ms  24.916 ms |中国电信广州节点
 8   (202.97.34.25)  22.040 ms  22.063 ms  22.053 ms |北京市电信
 9  202.97.60.142 (202.97.60.142)  22.474 ms  22.475 ms  22.465 ms |中国电信骨干网
10  202.97.61.46 (202.97.61.46)  26.196 ms  26.247 ms  26.232 ms |中国电信骨干网
11  202.97.62.214 (202.97.62.214)  60.140 ms  60.158 ms  60.217 ms |中国电信骨干网
12  209.85.241.58 (209.85.241.58)  59.982 ms  59.934 ms  59.825 ms |美国谷歌(GOOGLE)公司
13  209.85.250.120 (209.85.250.120)  60.237 ms  70.186 ms  60.217 ms |美国谷歌(GOOGLE)公司
14  209.85.250.87 (209.85.250.87)  60.708 ms  60.405 ms  60.680 ms |美国谷歌(GOOGLE)公司
15  216.239.43.212 (216.239.43.212)  143.525 ms  143.562 ms  143.632 ms |美国Google
16  209.85.250.126 (209.85.250.126)  146.837 ms  150.876 ms  146.755 ms |美国谷歌(GOOGLE)公司
17  209.85.242.255 (209.85.242.255)  212.969 ms  212.992 ms  212.880 ms |美国谷歌(GOOGLE)公司
18  209.85.254.249 (209.85.254.249)  211.795 ms  217.885 ms  211.812 ms |美国谷歌(GOOGLE)公司
19  64.233.174.46 (64.233.174.46)  218.950 ms 209.85.255.190 (209.85.255.190)  219.998 ms 64.233.174.46 (64.233.174.46)  218.934 ms |美国加利福尼亚州Google公司
20  gw-in-f100.google.com (74.125.67.100)  212.930 ms  212.912 ms  212.818 ms |美国 CZ88.NET

以上就是从我这里访问本blog和google的路由信息,很醒目吧,当然如果常用的话,可以保存成脚本更方便。
顺便纪念一下出来40个小时左右就被及.艾服.达不留掉的牛博国际网站:

$ traceroute bullogger.com | awk -F"[()]" '{if($2~/[0-9\.]./){printf("%s |",$0);system("cip "$2);}else{print $0}}'
traceroute to bullogger.com (70.86.20.26), 30 hops max, 60 byte packets |美国 CZ88.NET
 1  192.168.4.1 (192.168.4.1)  0.150 ms  0.142 ms  0.132 ms |局域网对方和您在同一内部网
 2  211.155.224.1 (211.155.224.1)  0.550 ms  0.640 ms  0.754 ms |浙江省杭州市电信IDC机房
 3  61.130.4.201 (61.130.4.201)  0.695 ms  0.683 ms  0.673 ms |浙江省杭州市电信
 4  61.164.3.89 (61.164.3.89)  1.610 ms  2.095 ms  2.164 ms |浙江省杭州市电信
 5  61.130.125.25 (61.130.125.25)  1.462 ms  1.445 ms  1.426 ms |浙江省丽水市电信
 6  61.164.9.185 (61.164.9.185)  1.053 ms  2.020 ms  2.106 ms |浙江省杭州市电信
 7   (202.97.47.46)  23.923 ms  23.165 ms  23.157 ms |中国电信广州节点
 8  * * *
 9  * * *
。。。。。。