星期三, 四月 29, 2009

再次在u100上安装ubuntu

等不及下载ubuntu的9.04镜像,使用原来的beta版镜像通过wubi安装的。
安装后,将平常用不到的给删掉,然后更新整个系统。好家伙,400MB的更新包。但至少比下载近700MB的ISO要好多了。
安装后,没有什么太需要配置的,只需要安装中文支持环境和fcitx就ok。不过,我不太喜欢文泉驿的阵黑字体,总感觉歪歪扭扭的。我用的是从苹果系统拷贝的STHeiti.ttf。
本来打算用gnome,不过还有点慢,最后用了XFCE4。

我为什么使用ubuntu?
之前安装了leopard,速度很理想,看电影也特爽,不过摄像头和麦克风没法正常使用,导致无法和MM正常视频聊天,不爽。所以最终还是删掉了,之前已经升级到leopard为10.5.6了。唉,就差麦克风,可惜了。
我在我的笔记本上面安装了debian和arch,不过都删掉了,原因是因为配置太麻烦了,还是用现成的好。

现在,用着ubuntu还算不错的。升级了2.6.30内核,解决了显卡问题。

星期一, 四月 20, 2009

MSI u100 硬件列表

* CPU: Intel Atom N270 1.6Ghz
* RAM: 1024 Mb, DDR2 667Mhz (optional)
* HDD: WD 80Gb SATA (optional)
* VGA: Intel 945 GME, 64 MB DDR
* LCD: 1024x600, 10.2" widescreen
* WLAN: Realtek RTL8187SE , 802.11 a/b/g
* LAN: Realtek RTL8101/02
* CAM: 1.3 Mpix
* BAT: LI-ON 3 cell 2200 mAh, 2 hours (optional)
* bluetooth, card reader, 3x USB 2.0
详细:
00:00.0 Host bridge: Intel Corporation Mobile 945GME Express Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GME Express Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 02)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller (rev 02)
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 02)
02:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8187SE Wireless LAN Controller (rev 22)

星期四, 四月 16, 2009

nginx编译,平滑升级

./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/sbin --with-http_stub_status_module --with-pcre=../pcre-7.6 --with-zlib=../zlib-1.2.3 --with-openssl=../openssl-0.9.8i

kill -USR2 `path/nginx.pid`
kill -WINCH `path/nginx.pid`

nginx信号:
TERM, INT 快速关闭
QUIT 从容关闭
HUP 重载配置
用新的配置开始新的工作进程
从容关闭旧的工作进程
USR1 重新打开日志文件
USR2 平滑升级可执行程序。
WINCH 从容关闭工作进程

星期四, 四月 09, 2009

nginx on debian etch4.0

这个算是之前在debian lenny尚未发布的时候写的笔记,发到blog上,以便以后做个参考啥的。

测试环境为cooperative Linux(debian imageFS) on windowsXP。colinux虚拟机IP:yoyoliyang.yo2.cn。

配置完毕colinux后,准备nginx编译环境。
apt-get install libpcre3 libpcre3-dev libpcrecpp0 libssl-dev zlib1g-dev build-essential

下载nginx稳定版:http://sysoev.ru/nginx/download.html
编译下载的源码包:
./configure --prefix=/usr/local/sbin
然后修改nginx.conf,不赘述。
编写一个nginx的启动脚本,添加到/etc/init.d/中,如下:
[code=bash]#! /bin/sh### BEGIN INIT INFO
# Provides: nginx
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts the nginx web server
# Description: starts nginx using start-stop-daemon
### END INIT INFOPATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/sbin/nginx
NAME=nginx
DESC=nginxtest -x $DAEMON || exit 0

# Include nginx defaults if available
if [ -f /etc/default/nginx ] ; then
. /etc/default/nginx
fi

set -e

case "$1" in
start)
echo -n "Starting $DESC: "
start-stop-daemon --start --quiet --pidfile /usr/local/nginx/logs/nginx.pid --exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon --stop --quiet --pidfile /usr/local/nginx/logs/nginx.pid --exec $DAEMON
echo "$NAME."
;;
restart|force-reload)
echo -n "Restarting $DESC: "
start-stop-daemon --stop --quiet --pidfile /usr/local/nginx/logs/nginx.pid --exec $DAEMON
sleep 1
start-stop-daemon --start --quiet --pidfile /usr/local/nginx/logs/nginx.pid --exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
;;
reload)
echo -n "Reloading $DESC configuration: "
start-stop-daemon --stop --signal HUP --quiet --pidfile /usr/local/nginx/logs/nginx.pid --exec $DAEMON
echo "$NAME."
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|force-reload}" >&2
exit 1
;;
esac

exit 0

[/code]

修改这个脚本属性为755,启动该脚本,然后设置为默认启动:
update-rc.d nginx defaults

之后安装mysql:
apt-get install mysql-server mysql-client
安装php5:
apt-get install php5-cgi php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-json php5-mcrypt php5-memcache php5-mhash php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

修改/etc/php5/cgi/php.ini,在配置文件最后添加如下字段:
cgi.fix_pathinfo = 1

创建php-fastcgi启动脚本,如下:
[code=bash]#! /bin/sh
### BEGIN INIT INFO
# Provides: php-fastcgi
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start and stop php-cgi in external FASTCGI mode
# Description: Start and stop php-cgi in external FASTCGI mode
### END INIT INFO# Author: Kurt Zankl <kz@xon.uni.cc># Do NOT "set -e"PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="php-cgi in external FASTCGI mode"
NAME=php-fastcgi
DAEMON=/usr/bin/php-cgi
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

# Exit if the package is not installed
[ -x "$DAEMON" ] || exit 0

# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME

# Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions

# If the daemon is not enabled, give the user a warning and then exit,
# unless we are stopping the daemon
if [ "$START" != "yes" -a "$1" != "stop" ]; then
log_warning_msg "To enable $NAME, edit /etc/default/$NAME and set START=yes"
exit 0
fi

# Process configuration
export PHP_FCGI_CHILDREN PHP_FCGI_MAX_REQUESTS
DAEMON_ARGS="-q -b $FCGI_HOST:$FCGI_PORT"

do_start()
{
# Return
# 0 if daemon has been started
# 1 if daemon was already running
# 2 if daemon could not be started
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null || return 1
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --background --make-pidfile --chuid $EXEC_AS_USER --startas $DAEMON -- $DAEMON_ARGS || return 2
}

do_stop()
{
# Return
# 0 if daemon has been stopped
# 1 if daemon was already stopped
# 2 if daemon could not be stopped
# other if a failure occurred
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE > /dev/null # --name $DAEMON
RETVAL="$?"
[ "$RETVAL" = 2 ] && return 2
# Wait for children to finish too if this is a daemon that forks
# and if the daemon is only ever run from this initscript.
# If the above conditions are not satisfied then add some other code
# that waits for the process to drop all resources that could be
# needed by services started subsequently. A last resort is to
# sleep for some time.
start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
[ "$?" = 2 ] && return 2
# Many daemons don't delete their pidfiles when they exit.
rm -f $PIDFILE
return "$RETVAL"
}

case "$1" in
start)
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
do_start
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
stop)
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
do_stop
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
restart|force-reload)
log_daemon_msg "Restarting $DESC" "$NAME"
do_stop
case "$?" in
0|1)
do_start
case "$?" in
0) log_end_msg 0 ;;
1) log_end_msg 1 ;; # Old process is still running
*) log_end_msg 1 ;; # Failed to start
esac
;;
*)
# Failed to stop
log_end_msg 1
;;
esac
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
exit 3
;;
esac

[/code]

修改其属性为755。
创建一个/etc/default/php-fastcgi的php-cgi控制脚本。
如下:
[code=bash]#
# Settings for php-cgi in external FASTCGI Mode
## Should php-fastcgi run automatically on startup? (default: no)START=yes# Which user runs PHP? (default: www-data)

EXEC_AS_USER=www-data

# Host and TCP port for FASTCGI-Listener (default: localhost:9000)

FCGI_HOST=localhost
FCGI_PORT=9000

# Environment variables, which are processed by PHP

PHP_FCGI_CHILDREN=5
PHP_FCGI_MAX_REQUESTS=1000

[/code]

启动脚本,并设置为自启动:
update-rc.d php-fastcgi defaults
这样下来,最基本的配置完毕。

附注:根据自己安装编译的nginx所在的目录在修改/etc/init.d/nginx启动脚本,修改DAEMON路径就可以了。

我的nginx简易编译规则为:

[code=bash]./configure --sbin-path=/usr/local/sbin/ --with-pcre=../pcre-7.6 --with-zlib=../zlib-1.2.3 --with-openssl=../openssl-0.9.8i --with-http_stub_status_module[/code]

星期四, 四月 02, 2009

linux 和 mac OSX

不久前安装了linux,ubuntu的9.04.

俩字可以形容它在我笔记本上的运行速度:卡的很!

个人喜欢听歌,看电影.不过在linux下无论是听歌,还是看电影,都没有较好的软件可以使用.到头来,我还是换回到了leopard中来.

leopard在我的笔记本中运行速度是在可称一流了.比XP和ubuntu都快!播放1080P的电影(mov)超爽~之前在xp和ubuntu中播放都不好.

到现在,发现linux中的好多软件都有模仿mac的嫌疑.主要是,单纯的模仿其外表,而本质的性能却越来越差了!X性能不可观!

不过mic的问题没有解决.愁人.leopard已经升级到了10.5.6.

linux,还是乖乖的去做服务器吧.