升级到Ubuntu 8.04

五一假期用了一晚时间升级了笔记本电脑上装的Ubuntu,注意到一些变化:
1. 启动过程中如果检查硬盘不会显示纯终端界面了
2. 登录xfce后无线网自动连接,不用再输入keyring的密码,很方便
3. Firefox 升级到3.0
4. 中文字体显示效果似乎比以前好了

升级后原来的vmware-player不能用啦,按照这里的说明即可解决。

郁闷了几天,终于搞定了Ubuntu下Firefox经常crash的问题

有一阵子没更新了 :(

这几天用Firefox很郁闷,经常发生关闭一个tab,firefox就crash掉了的情况。从shell里启动的话,可以看到的错误信息就是“段错误”,即“segmentation fault”。

升级到Firefox 2.0后也不行。(我用的是Ubuntu 6.06) 顺便提一下,从这个网站找到了安装、卸载Firefox 2.0的脚本,很好用。

google到两个bug报告,得知是flash插件的问题,不记得什么时候更新到了最新的flash插件,版本好像是9.0。

https://launchpad.net/distros/ubuntu/+source/firefox/+bug/19552
https://bugzilla.mozilla.org/show_bug.cgi?id=304370

解决的方法:
如果不想看页面里的flash了,就 export XLIB_SKIP_ARGB_VISUALS=1,再启动firefox就行了。
如果还是想显示flash,那就不能用从源里安装的flash插件(flashplugin-nonfree 和 flashplayer-mozilla好像都不行),从系统里卸载这些插件。然后用firefox访问一个有flash的页面,它会提示里安装插件,安装提示进行,最后会告诉你要手工安装,也就是要到adobe的网站上下载版本是7.0的插件 install_flash_player_7_linux.tar.gz,下载后安装就可以了。

让Postfix使用保存在MySQL中的加了密的密码字段(Ubuntu 6.06 TLS)

这两天在Ubuntu下折腾Postfix + Courier-IMAP + Cyrus-SASL + MySQL + PostfixAdmin,主要参考这个Howto(http://flurdy.com/docs/postfix/)
配置了Postfix Admin,所以邮件用户的密码用了md5的加密方式存放在MySQL数据库中的(不想用明文)。这样一来,IMAP服务器可以支持加密的密码字段,认证没有问题,但SMTP服务器不行。

Google了好久,发现网上大多数都是使用明文密码的,也有用saslauthd的pam认证方式来做的。我一开始是用明文的,觉得不好(能看到用户的密码,心里不安),又试了pam方式但没成功(不知道为什么,没深究)。最后终于找到牛人给Cyrus-SASL写的patch(针对2.1.19版本的),安装步骤参考 http://blog.matroid.org/display/26


$ cd ~
$ apt-get source libsasl2
$ sudo apt-get build-dep libsasl2
下载这个为Debian修改过的patch文件
$ wget http://blog.matroid.org/files/20060116-crypted-passwords-for-couriour-and-postfix-in-mysql/cyrus-sasl-2.1.19-checkpw.c.patch_mgr
$ cd cyrus-sasl-2.1.19.dfsg1
$ tar xvzf cyrus-sasl-2.1.19.dfsg1.tar.gz
$ ln -s cyrus-sasl-2.1.19.dfsg1 cyrus-sasl-2.1.19.orig
$ cp ../cyrus-sasl-2.1.19-checkpw.c.patch_mgr debian/patches/28_cyrus-sasl-2.1.19-checkpw.c.patch
做些修改,将patch文件里的cyrus-sasl-2.1.19.org替换为cyrus-sasl-2.1.19.dfsg1,不然会patch会失败。改好后,编译
$ fakeroot debian/rules binary
成功后,安装生成的deb包
$ cd ..
$ sudo dpkg -i *.deb

配置/etc/postfix/sasl/smptd.conf

pwcheck_method: auxprop
auxprop_plugin: sql
allowanonymouslogin: no
allowplaintext: yes
mech_list: PLAIN LOGIN
srp_mda: md5

srvtab: /dev/null
opiekeys: /dev/null

password_format: crypt

sql_user: username
sql_passwd: password
sql_hostnames: sql.example.org
sql_database: database_name
sql_select: SELECT password FROM mailbox WHERE username = '%u@%r'

重启Postfix就可以了。

Ubuntu 6.06 下SquirrelMail的中文界面问题

SquirrelMail的系统配置为中文,用户设置也是中文,可以正常查看中文邮件,但界面还是英文。

系统已经安装了language-support-zh中文支持包。

原因:Ubuntu的默认系统字符集是UTF-8,而SquirrelMail需要的是GB2312(见SquirrelMail的程序目录functions/i18n.php中第843到846行)

解决办法(从SquirrelMail官网的wiki里得到启示):


$ sudo cp /var/lib/locales/supported.d/local /var/lib/locales/supported.d/local.old
$ grep zh_CN /usr/share/i18n/SUPPORTED
zh_CN.GB18030 GB18030
zh_CN.GBK GBK
zh_CN.UTF-8 UTF-8
zh_CN GB2312

$ sudo vi /var/lib/locales/supported.d/local
把上面的内容添加到local文件里

$ grep zh_CN /var/lib/locales/supported.d/local
zh_CN.GB18030 GB18030
zh_CN.GBK GBK
zh_CN.UTF-8 UTF-8
zh_CN GB2312

$ sudo dpkg-reconfigure --force locales
生成新的中文locale,可能比较慢

这时访问SquirrelMail的界面就是中文的了。