2008-07
24

发表日:2008/7/23
作者:长野雅广(Masahiro Nagano)
原文链接:http://gihyo.jp/dev/feature/01/memcached/0004

前几次的文章在这里:

我是Mixi的长野。 第2次第3次 由前坂介绍了memcached的内部情况。本次不再介绍memcached的内部结构, 开始介绍memcached的分布式。

阅读全文 »
2008-07
16

下面是《memcached全面剖析》的第三部分。

发表日:2008/7/16
作者:前坂徹(Toru Maesaka)
原文链接:http://gihyo.jp/dev/feature/01/memcached/0003

前几次的文章在这里:

阅读全文 »
2008-07
11

下面是《memcached全面剖析》的第二部分。

发表日:2008/7/9
作者:前坂徹(Toru Maesaka)
原文链接:http://gihyo.jp/dev/feature/01/memcached/0002

阅读全文 »
2008-07
10

翻译一篇技术评论社的文章,是讲memcached的连载。fcicq同学说这个东西很有用,希望大家喜欢。

发表日:2008/7/2
作者:长野雅广(Masahiro Nagano)
原文链接:http://gihyo.jp/dev/feature/01/memcached/0001

我是mixi株式会社开发部系统运营组的长野。 日常负责程序的运营。从今天开始,将分几次针对最近在Web应用的可扩展性领域 的热门话题memcached,与我公司开发部研究开发组的前坂一起, 说明其内部结构和使用。

阅读全文 »
2008-03
06

最近发现gentoo下pidgin经常会不能输入,表现在输入法切换不出来,甚至无法输入英文字母。没办法只能重启pidgin。不过今天突然发现了问题的所在。那就是,从聊天窗口用Alt-Tab键切换到好友列表窗口,再用Alt-Tab切换回来,这时一切键盘输入就都不管用了。解决方法也很简单:再用Alt-Tab切换一次,就行了。另外为避免出现这种情况,建议没事儿时把好友列表窗口关掉。


2008-03
05

前几天的这篇文章fcicq同学挑毛病,建议不要使用内核自带的ntfs, 而是使用ntfs-3g+fuse。查了一下,ntfs-3g可以完美支持ntfs分区的读写操作, 的确要比内核自带的ntfs好得多。

试试看。安装方法不难,直接emerge即可,它会自动安装 sys-fs/fuse:

# emerge ntfs-3g

我用的是gentoo 2007.0,内核版本2.6.23-gentoo-r8,还需要编译内核的FUSE支持:

# cd /usr/src/linux
# make menuconfig
勾选 File systems --->  <M> Filesystem in Userspace support
# make modules_install
# modprobe fuse

之后当然可以再打开 /etc/modules.autoload.d/kernel-2.6,把fuse加进去。

然后就可以mount ntfs分区了:

# mount -t ntfs-3g -o locale=zh_CN.UTF-8,silent /dev/sda6 /mnt/wine

进入分区后试试读写,均没有问题。

后来看了看ntfs-3g的官方主页的FAQ, 发现竟然允许大小写不同的同名文件,还有特殊字符(如\、?等Windows中不允许的字符)。 作者的理由是NTFS支持POSIX风格的文件名,也支持DOS、Windows格式的文件名, 为保持最大的兼容性,ntfs-3g就选择了POSIX——所以就出现上面这种现象了。 尝试者建立 ABC、abc、ab?c、abc\d等文件,均建立成功,重新启动到windows下试图打开这几个文件, 结果出现了问题:ABC正常打开,但一旦保存,ABC就会丢失,只剩下abc(因为同名),估计有可能需要chkdsk了; ab?c、abc\d文件无法保存、改名和删除。只能回到linux下面操作。

看来作者又是一个十足的协议派……为保险起见,还是先ro吧。

最后的/etc/fstab为:

/dev/sda6       /mnt/wine    ntfs-3g    auto,ro,locale=zh_CN.UTF-8,silent    0  0

2008-03
04

今天在配置nvidia的显卡时出现了一个很头疼的问题。

按照官方网站上的文章, 一步步地顺利地安装好了显卡驱动:

# 先配置内核,详情参考官方文档,省略
# USE=gtk emerge nvidia-drivers
# modprobe nvidia
# update-modules
# eselect opengl set nvidia
# 然后修改xorg.conf,略
# startx

结果startx时出现了这样的错误:

Backtrace:
0: X(xf86SigHandler+0x84) [0x80cca34]
1: [0xffffe420]
2: X(main+0x2af) [0x807067f]
3: /lib/libc.so.6(__libc_start_main+0xd8) [0xb7db5838]
4: X(FontFileCompleteXLFD+0xa1) [0x806fb81]

Fatal server error:
Caught signal 11.  Server aborting

查了半天资料未得到结果,后来想起我曾经安装过nVidia官方网站提供的驱动, 会不会是和portage的驱动冲突呢?于是卸载掉官方驱动:

# sh NVIDIA-Linux-x86-169.09-pkg1.run --uninstall

然后重新emerge:

# emerge nvidia-drivers

这样就可以顺利地启动X了。


2008-03
02

最近重新安装了一遍gentoo,发现第一次安装时好多调查过的经验都没有记录下来,这次还得重新去找,麻烦…… 记下来供下次安装时使用吧。

按照手册上安装时,按照以下方法设置网卡(/etc/conf.d/net):

config_eth0=( "192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255" )
routes_eth0=( "default via 192.168.0.1" )
dns_servers_eth0=( "DNS1的IP地址" "DNS2的IP地址" )

chroot之后首先上ccache以提高编译速度:

# emerge ccache

然后编辑 /etc/make.conf 加上:

FEATURES="ccache parallel-fetch"
CCACHE_SIZE="2G"

接下来安装必要的软件:

# emerge vim

升级portage:

# emerge portage

编译内核时别忘了打开framebuffer(高分辨率命令行用),还有Device Drivers->Sound->Advanced Linux Sound Architecture(声音驱动,参考 这里)。 当然也别忘了在 PCI Devices中选择你声卡的型号。

如果你使用SATA硬盘,注意设置grub.conf时别弄错了硬盘编号

如何mount Windows XP的硬盘分区:首先保证内核中编译了ntfs支持,然后参考下面的结果来写mount参数:

/dev/sda6 on /mnt/wine type ntfs (ro,noexec,nosuid,nodev,nls=utf8,umask=0)
/dev/sda5 on /mnt/wind type vfat (ro,noexec,nosuid,nodev,codepage=936,iocharset=utf8,umask=0)

重新起动后安装xorg,修改make.conf:

USE="alsa bash-completion bzip2 gtk jpeg opengl ruby xscreensaver X -gnome -ipv6 -kde -qt3 -qt4"
INPUT_DEVICES="keyboard mouse"
VIDEO_CARDS="nvidia"

然后运行:

# emerge xorg-x11

装好后运行 xorgconfig 配置图形界面:

# xorgconfig

接下来是xfce4。修改/etc/make.conf:

LINGUAS="zh_CN ja"        # for xfdesktop

然后:

# emerge xfce4

还有中文输入法:

# emerge scim scim-pinyin

安装好后退回普通用户,编辑.xinitrc设置启动xfce4:

exec scim &
exec startxfce4

最后别忘了将语言设置为中文:

$ vi .bashrc
export LANG=zh_CN.UTF-8

启动之后应该能看到小老鼠的桌面,按Ctrl+Space应该能出输入法了。

装firefox:

# emerge mozilla-firefox
# emerge netscape-flash

装完后自己上网找插件去。

另外,Firefox默认安装之后,在快速滚动滚轮时页面会沿着历史记录前进/后退,十分不爽。 在about:config将mousewheel.horizscroll.withnokey.action改成0即可解决该问题。

即时通讯,使用pidgin,基于gtk,支持GTalk和MSN:

# emerge pidgin

默认的字体比较难看,从微软那里借用一些过来吧。

# emerge mkfontdir mkfontscale
# mkdir /mnt/winc
# mount -t vfat /dev/sda1 /mnt/winc
# cd /mnt/winc/windows/Fonts
# mkdir /usr/share/fonts/TTF
# cp sim* msgothic.ttc msmincho.ttc msyh* meiryo* verdana* tahoma* /usr/share/fonts/TTF
# cd /usr/share/fonts/TTF
# mkfontdir
# mkfontscale

然后重启xfce4后即可设置字体。

另外,在编译xfwm4时加上USE=xcomposite,即可打开窗口混色开关,这样就可以在窗口管理器中设置窗口的透明度了。 另外 http://www.xfce-look.org/ 这个网站不错,可以下载到许多xfce4用的主题。

时钟有可能会不正确,可以修改 /etc/conf.d/clock,将 CLOCK="UTC" 改成 CLOCK="local"。

板载AC97声卡的配置,参考官方文档即可。

安装mplayer:

USE="aac cddb dvd encode gif mmxext mp2 mp3 png \
    quicktime rar real samba srt vorbis \
    win32codecs x264 xv xvid" emerge  mplayer
   

安装Open Office:

# LINGUAS="zh_CN" emerge openoffice-bin

2008-01
15

exaile是一个基于GTK+的媒体播放器, 类似于KDE下的Amarok。在gentoo下可以很方便地安装:

# emerge exaile

但试图播放mp3时,会报告这样的错误:

You do not have the appropriate Gstreamer plugin installed to play this file:

google之后才知道,播放mp3需要安装gstreamer的插件 gst-plugins-mad。 你可以用下面的命令查看已经装了哪些插件:

# emerge -s gst-plugins

安装完 exaile 之后,gst-plugins-base、gst-plugins-bad、gst-plugins-good三项 应该是已安装好的。执行下面的命令:

# emerge gst-plugins-mad

装好后重新启动exaile,这样就可以播放mp3了。


2008-01
14

gentoo xeffects项目主要是研究如何在gentoo下使用compiz和compiz fusion,xgl的ebuild文件就来自xeffects layout。 但是最近(2008/1/6前后),xeffects项目的开发者声明他们决定中止该项目的开发。(文章末尾引用了他们的官方声明。)

官方网站gentoo-xeffects.org的域名也已经停止使用,在gentoo下通过 layman -a xeffects 会说找不到域名。 不过好在xeffects作者公开了他们的开发成果,你可以通过git下载。

# emerge dev-util/git
$ git clone git://git.overlays.gentoo.org/dev/jmbsvicetto.git

最后附上开发者的官方声明。

lex (nesl247) and I decided we no longer were interested in keep running the gentoo-xeffects server and agreed to not renew its subscription after the end of December. Thus, the gentoo-xeffects overlay is no longer available. I've put all the ebuilds in the xeffects overlay under my git dev overlay on http://git.overlays.gentoo.org/gitweb/ where I plan to keep them for at least the next 15 days. If you want to get any of the ebuilds, you can use the gitweb interface to get it or you can clone the overlay with git clone git://git.overlays.gentoo.org/dev/jmbsvicetto.git. I have a local copy of all files that were available under http://distfiles.gentoo-xeffects.org so if someone is interested, drop me a note here, on IRC or through any of my contacts.

So, what's next? I didn't wanted to keep the server running because I wasn't available to keep the financial commitment, but I'm still interested in compiz, compiz-fusion and related packages. As such, I'm starting a new overlay with Ingmar Vanhassel (ingmar/ingmarv) and Wulf C. Krueger (philantrop) that will be named desktop-effects and will also be available from http://git.overlays.gentoo.org/. As indicated by its new name, this overlay will have a different scope and will start with a subset of the xeffects ebuilds. Expect more details to follow in the US forum and or in the #gentoo-xeffects irc channel.

I want to thank everyone that worked on the coffee_buzz / gentoo-xeffects overlay for their hard work. In particular, I want to thank coffee_buzz, nesl247 and roderick. Without you and your work, the rest of us wouldn't had / be having so much fun with compiz / compiz-quinnstorm / beryl / compcomm / compiz-fusion and friends.