星期三, 十二月 31, 2008

替换apache2注意事项

apache2有点问题。打算将其替换掉。
nginx安装,配置,还算顺利。可能会遇到以下问题:
php-cgi调用php.ini的时候,无法正常载入,但是在info.php中还是可以看到其路径的。解决方法为修改php.ini的权限,默认为600,修改为644。
这是一个问题,还有一个问题就是nginx无法正常上传1M以上的文件,即便是调整php.ini中的上传最大值还是无效的。因为nginx默认上传限制在1m以下。
在nginx.conf中添加上传大小参数就行了:
client_max_body_size 2m;

这有点类似apache老版本中的php.conf上传限制。
最后一点,默认使用/etc/default/php-fastcgi来控制php-cgi端口,用户以及连接数的。但这实际上效率很低,重启php-cgi太慢,且不能平滑跟随php.ini的配置。推荐使用php-fpm,因为需要打给php打补丁,所以需要从源码编译安装了。

参考链接:Nginx 0.7.x + PHP 5.2.8(FastCGI)搭建胜过Apache十倍的Web服务器(第4版)

星期六, 十二月 20, 2008

.Xresources

Rxvt.font:xft:Bitstream Vera Sans Mono:size=10,xft:DejaVu Sans YuanTi:size=10
Rxvt.background:#2e2e2e
Rxvt.foreground:antiquewhite
Rxvt.colorBD:yellow
Rxvt.colorUL:green
Rxvt.multichar_encoding:utf-8
Rxvt.scrollBar:Fault
Rxvt.scrollBar_right:True
Rxvt.scrollBar_floating: True
Rxvt.scrollstyle: next
Rxvt.saveLines:10000
Rxvt.color0:black
Rxvt.color1:red3
Rxvt.color2:springgreen
Rxvt.color3:wheat3
Rxvt.color4:navy
Rxvt.color5:magenta4
Rxvt.color6:steelblue1
Rxvt.color7:gray85
Rxvt.color8:gray10
Rxvt.color9:SkyBlue3
Rxvt.color10:chartreuse3
Rxvt.color11:lightgoldenrod2
Rxvt.color12:SkyBlue1
Rxvt.color13:pink1
Rxvt.color14:lightblue1
Rxvt.color15:#dbeff9

Rxvt.menu:/etc/X11/rxvt.menu
Rxvt.preeditType:Root
Rxvt.transparency:255
urxvt*inputMethod:fcitx

urxvt

ps:opera太好用了,老旧笔记本用着非常好。

星期五, 十二月 19, 2008

rewrite规则,nginx

#enable ucenterHome rewrite
rewrite ^/(space|network)-(.+).html$ /$1.php?rewrite=$2 last;
rewrite ^/(space|network).html$ /$1.php last;
rewrite ^/([0-9]+)$ /space.php?uid=$1 last;

#enable Discuz rewrite
rewrite ^/bbs/archiver/((fid|tid)-[w-]+.html)$ /bbs/archiver/index.php?$1 last;
rewrite ^/bbs/forum-([0-9]+)-([0-9]+).html$ /bbs/forumdisplay.php?fid=$1&page=$2 last;
rewrite ^/bbs/thread-([0-9]+)-([0-9]+)-([0-9]+).html$ /bbs/viewthread.php?tid=$1&extra=page%3D$3&page=$2 last;
rewrite ^/bbs/space-(username|uid)-(.+).html$ /bbs/space.php?$1=$2 last;
rewrite ^/bbs/tag-(.+).html$ /bbs/tag.php?name=$1 last;
break;

星期四, 十二月 18, 2008

DEMAE:可以解决mp3标签乱码的播放器(仅供测试)

linux下mp3标签乱码很烦人。众多的mp3播放器,不管是 重量级的Rhythmbox 还是轻量级的quodlibet都存在了乱码问题。具体详细的解释,可以看nicky的这篇文章

虽然可以使用id3iconv或者Mutagen来重新转换mp3的标签编码,但是有点罗嗦:我每次下载单个mp3,就要重新用命令来转换编码,太麻烦了。

昨天我在寻找基于mpg123(mpg321)的前端播放器,找到了DEMAE这个小玩意,可以解决掉mp3标签乱码。但是界面太简单,功能太弱了,所以很勉强能够在平常中使用。

我尝试使用sonata、audacious、quodlibet来和它比较,确实能够正确的处理mp3标签编码(支持ID3v1/v2, APEv2),不过要在配置选项里面加入GBK编码。

截图如下(googleMusic下载的两首中文歌):
mp3id1

配置选项中需要添加GBK编码:
mp3id2

关于安装: 把源码包中的ext/i686-linux/gtk_treemodel_xtra.so拷贝到源码包根目录,然后执行demae,出现依赖错误,可参考README。

linux,绝对省电。

我对linux的电源管理一窍不通,我用着debian。
我的笔记本是老旧的IBM T23,电池早就完蛋了,在xp下估计能够2分钟也就待机了。
今晚上我在打开笔记本的时候,忘记了打开电源插座的开关(怪不得提示warning:on battery powerful,skip fdisk check?)。我起初没注意,一直就这样开启了我的笔记本,然后听着歌。等到我看到桌子上面的电源开关关着的时候,我发现笔记本计算机靠着破电池已经运行了将近6分钟了。
怪不得看着cpu的温度才29度。
同样和xp对比下,多了4分钟。
不得不成认linux确实省电,确实环保。

星期二, 十二月 16, 2008

星期六, 十二月 13, 2008

debian安装qemu和加速器&安装Plan 9

尽管我的老笔记本的硬件完全写在在了plan9的硬件支持列表中,但是我还是用虚拟机安装吧──硬盘实在是没有空间了。
plan9支持qemu和vmware,virtualbox没有写在支持列表中,想必virtualbox发行太晚的缘故。
自己的笔记本竟然没有安装qemu,先准备虚拟机环境。
用apt安装
qemu kernel-package linux-source kqemu-source build-essential kqemu-common

之后会下载内核源码到/usr/src中,解包它,并创建它的链接到此目录
ln -sf /usr/src/linux-2.6.26* /usr/src/linux

之后依次执行如下命令来创建kqemu的内核模块:
cd /usr/src/linux
module-assistant prepare kqemu
module-assistant build kqemu
module-assistant install kqemu
depmod -a

之后就会安装好kqemu的内核模块啦,插入它
modprobe kqemu
chmod 666 /dev/kqemu

到此为止qemu和加速器就安装好了,虚拟环境就搭建好了。
然后开始安装plan9了
到贝尔实验室下载plan9的iso,之后准备用qemu来启动它。
先创建一个qemu磁盘镜像:
qemu-img create -f qcow Plan9.qcow.img 2G
从镜像引导启动:
qemu --kernel-kqemu -hda Plan9.qcow.img -cdrom plan9.iso -boot d
默认会出现两个选项,一个为安装plan9,另一个是启动liveCD,选择它,然后剩下的安装就容易了。
plan9这玩意,确实挺新鲜的。贝尔实验室创造了unix,unix无人不知。plan9也来自贝尔,但是不及unix出名。
具体安装事项看贝尔的wiki吧。

星期五, 十二月 12, 2008

conkyrc配置

老早在06年的时候,使用过,之后便很少使用了。
最近突然想用了,顺便监测当前系统运行状况──主要是CPU。
随便写了个rc文件,发上截图,喜欢的话到我notebook拿去吧。
conky

升级wp2.7

没来得急第一时间升级──这几天blog写的少。
今天升级到2.7以后,不想令我有小小惊叹的感觉:wordpress管理后台完全变了个样子。
不错哦~

ps:重新编译了svn的fcitx。

星期三, 十二月 10, 2008

双机对等搭建debian无盘笔记本

我的老旧笔记本是T23,虽然512内存,但是因为磁盘太旧了,瓶颈问题非常严重,即便是用debian,我也感到非常吃力。再加之cpu频率太低,运行速度非常慢。
决定用无盘来启动笔记本,或许可以减缓瓶颈问题,只是做到测试,但完全使用也无妨,无非就是要在台式机上面另加一块网卡罢了。
台式机:
ip:192.168.1.10
用到的服务:dhcp,tftp,nfs
笔记本:
ip:192.168.1.9
mac:00:d0:59:d8:5f:91

启动原理:
利用台式机做dhcp服务,然后从笔记本网卡启动,挂载台式机的nfs目录为根目录,从而引导进入debian系统。

台式机上面需要做的:
首先在台式机上面安装debian系统,更新apt,设置IP地址,之后用apt安装dhcp3-server,tftpd-hpa,nfs-kernel-server,syslinux。
配置dhcp3-server服务,编辑/etc/dhcp3/dhcpd.conf如下(我的配置文件):
default-lease-time 600;
max-lease-time 7200;

subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
option broadcast-address 192.168.1.255;
option routers 192.168.1.10;
}

host t23 {
hardware ethernet 00:d0:59:d8:5f:91;
filename 'pxelinux.0'; //pxe引导文件,等会用到
next-server 192.168.1.10;
fixed-address 192.168.1.9;
}

之后重新启动dhcpd服务。
/etc/init.d/dhcp3-server restart
如果没有出现fail之类的错误,就说明成功了。

配置tftp:
安装tftp后,会默认将tftp的目录设置为/var/lib/tftpboot。编辑/etc/default/tftpd-hpa,修改“RUN_DAEMON”选项为“yes”,使其自启动进程。
需要将syslinux安装后得到的pxelinux.0这个引导文件拷贝到/var/lib/tftpboot中去,如下:
cp /var/lib/syslinux/pxelinux.0 -vf /var/lib/tftpboot/
之后重启tftp服务
/etc/init.d/tftpd-hpa restart
可以做一下tftp get的测试。

配置nfs-kernel-server:
编辑/etc/exports,设置nfs目录,如下
/t23 192.168.1.0/24(rw,no_root_squash,async)
其中,/t23是在台式机上面创建的一个目录,默认笔记本的系统文件在此处,后面会解释。
重启nfs服务
/etc/init.d/nfs-kernel-service restart

服务配置完毕

因为台式机安装的是debian,我们需要重新安装一个新的debian系统来让笔记本引导它,对此有两种方法:
一种是在台式机上面划分一个新的分区,然后正常安装debian到新的分区中,之后重启,进入原来的debian系统,挂载新安装debian的那个分区到/t23中。
另一种方法是到cooperative linux中下载debian的fs磁盘镜像(下面简称为t23.fs),之后直接挂载到/t23中去。
我用的是第二种方法,因为之前安装过colinux,并且备份了磁盘镜像,这次可以直接用到了。

挂载t23.fs到/t23中
mount t23.fs -o loop /t23
如此,从colinux下载的debian的磁盘镜像就挂载到台式机中的/t23目录中来了。然后做如下修改:
编辑/t23/etc/fstab:
proc /proc proc defaults 0 0
/dev/nfs / nfs defaults 1 1
none /tmp tmpfs defaults 0 0
none /var/run tmpfs defaults 0 0
none /var/lock tmpfs defaults 0 0
none /var/tmp tmpfs defaults 0 0

修改/t23/etc/network/interfaces,注释掉eth0设备。
因为这个磁盘镜像没有安装linux-image,默认使用了colinux的内核,所以需要chroot进入,重新安装linux内核,从而确保生成/lib/modules/linux-2.6.18-6-686。确保台式机和这个磁盘镜像要保持内核版本一致,因为我都是用了debian的etch版本,所以没什么问题。
之后退出chroot模式,返回台式机中的debian。
重新编译debian内核,使内核支持nfs启动。
编辑/etc/initramfs-tools/initramfs.conf,修改其中的BOOT=local为BOOT=nfs,之后重新生成新内核:
mkinitramfs -o /boot/initrd-t23
在/var/lib/tftpboot中创建t23的文件夹,然后拷贝/boot/vmlinuz(版本号)和initrd-t23到/var/lib/tftpdboot/t23中来。
在tftpboot中创建pxelinux.cfg文件夹,并在其中创建default文件(等同于menu.lst)如下:
DEFAULT t23

LABEL t23
kernel t23/vmlinuz
append vga=791 initrd=t23/initrd-t23 root=/dev/nfs nfsroot=192.168.1.10:/t23 ip=dhcp rw --
PROMPT 1
TIMEOUT 0

之后使用交叉线将两台电脑连接起来,把笔记本启动到pxe启动模式,然后就会获得pxelinux.0这个引导文件并加载default启动选项引导debian系统了。
我是成功了。
debian无盘笔记本到此告一段落。

ps:
因为没有闲置路由器可用,所以两台机器对等连接后均不能上网,只是实现了无盘启动的工作。如果在台式机上面加一网卡的话,笔记本便可以共享台式机网络了。
当然,有路由器的话就更方便了。

星期一, 十二月 08, 2008

Howto Change /home directory

在我的老旧笔记本上面运行XP实在太卡了。我想,既然debian可以轻快的在我的老旧电脑上面舒服的运行,为何不把xp删掉呢?况且我可以用wine来运行foobar2000了,且最近xp一直未登录过,放在那里占用磁盘空间,我看还是删掉的好——要用windows还是在我的台式机上吧。

磁盘状况如下:
分区 格式 挂载点
/dev/hda1 NTFS /mnt/hda1
/dev/hda5 EXT3 /
/dev/hda6 swap swap

决定格式化了,先备份好存放在windows下的资料啥的,格式化/dev/hda1。而且我决定使用XFS文件系统了。

先安装xfs工具,只需要安装xfsprogs就可以使用mkfs.xfs了。 然后做XFS文件系统优化处理,之后创建临时home目录,如下:
mkdir /mnt/newhome ##创建临时home目录
/dev/hda1 /mnt/newhome xfs defaults 0 0 ##加入xfs分区到fstab
mount /dev/hda1 ##挂载
find . -depth -print0 | cpio –null –sparse -pvd /mnt/newhome/ ##拷贝home目录中内容到newhome
/dev/hda1 /home xfs defaults 0 0 ##再次修改/etc/fstab
mv /home /home~ ##更改/home为/home~,或者删除掉
mkdir /home ##重新创建/home目录,以便挂载xfs分区

重启系统。

按照我以前的做法,还是出现了权限问题:更改目录后没有写入的权限。解决方法很简单,用chown命令改变属主,或者干脆用root来使用pcmanfm之类的文件管理器更改目录属性就可以了。


参考资料:
在debian中优化XFS文件系统
Ubuntu Linux挂接新硬盘 更改Home目录

星期日, 十二月 07, 2008

wine来foobar2000

虽然一直是不怎么赞同使用wine的,只是觉得在linux还是做linux自己的事情吧,何必要虚拟windows呢?用windows的程序还是到windows下面吧。
即便如此,在我逐渐厌恶了windows那可憎的界面以及超慢的运行速度的时候,看来我不得不使用wine了。
至此,有两个需要的东西在linux上面没法完美的实现:一个是像foobar2000的mp3播放器,另一个就是kmpalyer了。
之所以使用windows也就因为上面两个软件在拖累着我。
尝试在linux下使用了几个不同的mp3播放器,但都令我失望,一个是编码问题(虽然比较容易解决,但确实是麻烦了,每次都要执行命令来重新转换编码),另一个问题就是不论哪个播放器我都没法顺手,怎么使用都感觉不如foobar2000方便。
另外,我的老旧笔记本看mkv电影的时候,可以用kmplayer来解决声音和画面不同步的问题。

听歌是个大问题啊,所以要用wine来运行foobar2000了。
wine的新版本确实比以前好用多了,之前我在使用magicLinux2.0的时候,尝试用wine来运行foobar2000,那时就几近完美了。这次安装更是丝毫不用配置,完美的显示中文了,而且安装了BBE等插件,音质同windows下差不多啦──很好很强大。

这么一来,就可以在轻快的linux上面用着foobar2000听歌了。如此,快哉矣!

缺点:在linux上面运行foobar2000的缺点就是无法实现windows上面运行foobar2000的初衷了:轻量级。
不过在我电脑上面跑着还是挺快的。启动速度不慢,cpu虽然占用稍微高点,但我感觉不出来。

星期六, 十二月 06, 2008

奇怪的磁盘问题(附带两篇)

今天早上我正常的打开电脑,进入debian,启动到XDM并登录的时候,紧接着屏幕一闪,又回到了XDM的登录窗口──竟然给我自动跳出了。再次登录,亦是如此。我就纳闷了,莫非账户禁用了?
之后我进入控制台,可以正常登录,我尝试修改.xsession,竟然提示磁盘空间不足!有没有搞错阿,昨天的时候明明还有3个多G的。
查看了一下home目录,那个.xsession-errors竟然有3G之多,我靠了。用cat查看,里面乱七八糟的东西,估计是什么信息都输入到这里面来了。
删除之,创建个空设备链接到此:
ln -sf /dev/null ~/.xsession-errors



ps一篇:
我在windows下制作了rom.zip这个压缩包,然后拷贝到linux中解压后,出现了乱码。然后我就开始找原因来解决问题了(这就是我有时候特别烦linux,为了寻找一个可用的替代品却很难找到,特别是针对桌面的),因为需要重新编译unzip──但我无论如何也编译不通过。找到了firefox的一个archview插件,可以通过它来查看并解包,而且没有乱码,很好很强大──可惜在我的老旧电脑上面cpu占用率太大了,很卡。

ps二篇:
fbrun是fluxbox里面默认的一个“运行”程序,很方便的说。比方我在openbox下想使用的话,可以单独编译fbrun而不用全部安装fluxbox。
在fluxbox源码目录下依次运行./configure --prefix=/usr && make
之后进入子目录util中,make install就ok了。

星期四, 十二月 04, 2008

单网卡,n个IP地址绑定

/etc/network/interfaces文件如下:


# The loopback network interface

auto lo
iface lo inet loopback
pre-up iptables-restore < /etc/firewall-rules

auto eth1
iface eth1 inet static
address 192.168.1.9
netmask 255.255.255.0
gateway 192.168.1.254

auto eth1:1
iface eth1:1 inet static
address 192.168.0.9
netmask 255.255.255.0
gateway 192.168.0.254

Songbird随笔



在linuxtoy第一次介绍的时候,我就用过了。gui虽然很好看,但是系统资源消耗太大,虽然可以边上网边听歌——听起来不错——但是貌似有点多余了。我只是测试了windows版。

正式版发布后我安装测试了一下,觉得其整合了音乐管理和网页浏览的功能的兼容性更强大了。而且做得很统一规范。我在songbird上面写blog甚至感觉不到我在用浏览器,更感觉到的是一个程序。

简单,干净,统一,规范。用它来浏览网页感觉很舒服干净。

可惜的是内存消耗太大,在我双核的机器上面占用了100多MB内存(开启了两个上网标签和播放器),其实平常使用firefox也不过如此——所以我在我旧电脑都是用opera。



web浏览功能,Gecko引擎。刚刚在复制文字的时候,songbird竟然崩溃了。



音乐管理还是比较强大的,但是mp3标签处理功能弱了点。如此,不及foobar2000。

ps:附注songbird在linux上截图

乱码。

太卡了。旧电脑别用了吧。

星期二, 十二月 02, 2008

升级debian

etch版本实在是太老旧了,受不了,升级到了lenny。之前在etch里面编译的ntfs-3g竟然无法挂载ntfs分区,原来是这么档子事:



xp休眠了的缘故(win下我只有一个分区,磁盘好小)。 升级到lenny,貌似感觉速度的快了,不过因为cpu太糙(奔三1G),所以运行firefox还是有点卡──准备换换opera试试看。 不再打算折磨我的小黑了,陈旧的笔记本装了linux无数遍了,够折腾了。在此list一下以前飘过的linux系统──只是飘过,绝无任何研究──足见我这人轻浮了。
Turbo Linux 7.0──还是HP技术支持原装光盘,同学给的。 Ubuntu 6.06/6.10/7.04/7.10/8.04,ubuntu飘到这里,便转移到了arch。8.04是我最近装过的Xubuntu。 Arch Linux 0.7?快2年前了。 Magic Linux 2.0 好早的版本,大一时候开始用的。 Debian Linux Fanx Slax (同上) Zenwalk

再list其他的操作系统。
AROS QNX实时操作系统,openQNX windows2K windowsXP windowsServer2008,惊叹我的破旧笔记本能装得起2008,而且程序预启动速度比较快(或许是裸机的缘故)。 FreeBSD

当年用着ubuntu6.06是相当的流畅啊,而且还是gnome,现在若用8.10的话──我不敢装了。

ps一篇: opera和flashplayer无法正常显示(表现为opera的flash播放区域空白,firefox段错误),可以直接安装ubuntu的flashplugin的debian包──我开始有点佩服ubuntu了.

opera安装后可能字体非常难看,尝试修改/usr/share/opera/ini/font.ini下面的段落:
; Known fonts that solves specific problems
;family:mincho|gothic=japanese good try-first
;family:kochi*=japanese good try-first
family:WenQuanYi Bitmap Song=chinese-s try-first
;family:baekmuk*=korean good try-first

注释掉日本和韩国的两行段落,修改文泉驿段落。