i'm Chao

Front-end Development / iOS Development

说说Python包管理

虽然我的Python学习才起步,不过有时候也需要装一些额外的软件包。一般Python教程上都推荐使用easy_install。这个工具很酷,有了它,我不需要去找软件包。我可以直接easy_install 包名,它会帮我去pypi查找下载最新的软件包,然后自动安装。这个和Linux上的apt、yum之类的包管理器很类似。但是问题来,作为Linux用户,我不希望我在系统上有两套包管理器。有一天我在安装Mako(一个很快的模板引擎),我就在想我是使用apt来安装呢,还是使用easy_install来安装。于是我用apt-cache showpkg python-mako检查一下,apt源中的mako是2.4版本的。然后我又用easy_install检查了一下,是2.5版本的。当然,听说easy_install所使用的pypi库的包往往都是最新的。像我这样的更新狂肯定想装2.5版本的,那我应该使用easy_install安装吗?

经我研究发现,easy_install有以下问题:

  1. 卸载能力低下,easy_install -m 包名,可以卸载软件包,但是卸载后还要手动删除遗留文件。

  2. 可能会和apt冲突。比如某天我用easy_install安装了软件包A,后来我在用apt安装软件包B的时候依赖软件包A,而apt并不知道A的存在。

DIY了家用NAS

随着我收藏的电影、动画不断增多,小小的移动硬盘已经不能满足我对容量的需求。而且家里有两台笔记本、一台上网本、一台高清播放机,等我毕业后,还要从学校搬回一台台式机,就算买了移动硬盘,也不能解决所有设备的存储问题。假期,表弟表妹们经常会来我家玩,看看电影是必然的,这也就面临着数据共享的问题。于是我打算搞一台nas。目前市面上有一些现成的家用nas,比如qnap、buffalo。虽然他们都是基于Linux的,可以自己定制,但是价格比较昂贵,而且性能一般。最终我还是决定自己组一台低功耗计算机当nas使用。

配置如下:

主板:Intel D945GCLF(板载N230、显卡、两个sata接口)

内存:金士顿 1G DDR2

机箱:技展 高清3号机箱(两个3.5寸的仓位)

电源:航嘉冷静王标准版电源 最大300W

(本来想搞DC-ATX这类五风扇电源的,又静音又省电,但是好像都只有一个sata电源接口)

硬盘:西数 WD10EARS 1TB 64M缓存

总价:1500

所有配件都在淘宝上搞定,1天后全部到货。

Netbook OS分享会

酝酿了很久的分享会,作为杭州GTUG成立后的首次活动,《Netbook OS大比拼》圆满结束咯。这得要感谢与会的每一位朋友,虽然外面下着大雪,但是还是有很多朋友来了,而且还有三位上海朋友;另外还要特别感谢杭州图书馆,他们为我们提供了一个非常棒的会场,书香气为我们的技术交流更是增添了别样的气氛。

以下是流水帐。这次分享会是由Tualatrix(以下简称TX)和我共同主持的。会议主题是《Netbook OS大比拼》。

解决1005ha/1008ha在ubuntu 9.10下糟糕的表现

自从我的Eee pc 1005ha-h升级到ubuntu 9.10后,无线网络开始不断抽风。

先是信号非常弱,频繁掉线。我在launchpad.net查到1005ha的无线网卡是atheros的ar9285,对应的驱动是ath9k。而ath9k在2.6.31下有兼容性问题,ubuntu的backport驱动解决了这些问题。于是我给2.6.31.14内核安装了backport驱动。

[bash]sudo apt-get install linux-backports-modules-2.6.31-14-generic[/bash]

重启后,信号变强了,线也不掉了,但是网络僵尸了。主要表现在chrome打开一个站点往往需要15-30秒时间,其中至少有10秒时间在解析dns。开始我以为是ipv6导致解析缓慢的,所以我就把ipv6禁用了。

打开配置文件:

[bash]gksu gedit /etc/sysctl.conf [/bash]

在文件最后加入:

[bash]net.ipv6.conf.wlan0.disable_ipv6 = 1[/bash]

重启后发现速度确实快了,但是解析还是需要很长时间。

在Moblin2.1-preview上编译安装ibus

前段时间安装了Moblin2.1-preview版,一直没玩。今天突然有兴致跑进去玩玩。先是改了一下源,升级了一把,大概250MB。然后发现浏览器变成firefox3.5了,支持书签和插件,clutter下的ff就是漂亮,上网一定很爽!可是为什么不给我装好输入法呢?找了半天也没有找到安装的入口,所以我进shell安装了scim。

[bash]
yum install scim scim-pinyin scim-bridge scim-bridge-gtk scim-bridge-clutter
[/bash]

装好后发现很多地方用不了scim。我只好抛弃了scim,转投ibus。

ibus没有现成的包,必须手动编译。于是我开始手动编译,接下来的过程消耗了我一个晚上,弄得我头昏脑胀,可算是凄惨啊。

编译ibus

参考地址:http://code.google.com/p/ibus/wiki/Install

先把依赖包装好:

[bash]
yum install git gnome-common autoconf automake libtool glib2-devel intltool gtk-doc GConf-dbus-devel make gcc clutter-devel dbus-python-devel iso-codes-devel
[/bash]

然后把源代码下下来:

[bash]
git clone git://github.com/phuang/ibus.git ibus
cd ibus
[/bash]

开始编译

[bash]
./autogen.sh –prefix=’/usr’ –sysconfdir=’/etc’ –libdir=’/usr/lib’ –enable-gtk-doc
make
sudo make install
[/bash]

我在运行autogen.sh的时候出现了以下错误:

Makefile.am: required file `./ChangeLog’ not found

直接输入下面指令后,重新运行autogen.sh

[bash]
touch ChangeLog
[/bash]

编译ibus-pinyin

先安装依赖包:

[bash]
yum install sqlite-devel gcc-c++ libuuid-devel
[/bash]

下载源代码:

[bash]
git clone git://github.com/phuang/ibus-pinyin.git ibus-pinyin
cd ibus-pinyin
[/bash]

开始编译:

[bash]
./autogen.sh –prefix=/usr
make
sudo make install
[/bash]