存档

文章标签 ‘HowTo’

tmpfs的应用

2008年12月25日

什么是tmpfs?tmpfs是一个高效的文件系统,之所以高效,是因为其使用内存作为存储设备。通过tmpfs,我们能像使用硬盘一样的使用内存。众所周知,内存的读取写入速度是硬盘不能比拟的。但由于内存的易失性,当系统掉电时,所有在tmpfs上的内容将会丢失。根据这些特性,我们可以将一些目录挂载到tmpfs文件系统下,设置正确下还能起到加快某些命令执行的速度。例如 pacman -Ss 。而且从这篇文章得知,tmpfs还会自动释放出未用的空间,大可放心的使用tmpfs。下面我列举一些我在Archlinux上使用tmpfs的一些心得。
首先建议物理内存容量至少要有1G以上,过少的内存反而会起反效果。例如我的物理内容容量为2G。(现在内存都是白菜价了)下面列举一些可以挂载到tmpfs上的目录,当然,你也可以将其他目录也挂载上去,这主要看你的内存大小和想象力了 :) ,例如你可以将整个 Firefox 都搬到内存上运行

/tmp
该目录是用来存放不同程序执行时产生的临时文件,既然是临时文件,即使在关机时没有保存也不会有大碍,而且还可以减少硬盘I/O读写次数。所以这个目录大可放心挂载到tmpfs上。

/var/tmp
功能上和/tmp目录相似,一些kde程序会用到这个目录。

/var/log
系统日志存放的目录。

/var/lib/pacman/sync(Archlinux特有)
这个目录是pacman特有的,用来存储每个可用仓库的软件列表,依赖关系等的信息。你每次执行 pacman -Sy 命令,就是将互联网上软件仓库的信息下载到这个目录,而执行 pacman -Ss 就是从这个目录下的信息中查询。如果将这个目录挂载到tmpfs上,可以加快搜索软件时的查询速度,但缺点是每次启动系统后都要重新执行一次 pacman -Sy 命令来生成这个目录下的内容,除非你用脚本控制每次关机都备份这个目录下的内容,如何取舍就要看各位了 :)

说了一大堆,那究竟如何才能挂载这些目录呢?方法很简单,直接写到 /etc/fstab 下,然后重启系统。不推荐直接用mount命令挂载,这会马上清空这些目录下的内容,有可能会导致正在运行的程序出错。

将下面这句加入到 /etc/fstab 内。

none /tmp tmpfs defaults,size=100m 0 0

值得注意 size=100m 这个选项,这是控制使用多少内存的关键,如果不加上这个选项,将默认使用一半容量的内存。这里我让其使用100M的内存空间,并挂载到 /tmp 下。其他的目录请如此类推,又或者加大 /tmp 下的空间,例如使用300M内存,然后将其他目录做符号链接到 /tmp 下,总之实现的方法有很多,就看各位喜欢 :) 。enjoy it !

PS:祝大家生蛋节快乐! :D

Configure , , ,

字体美化:微软雅黑

2008年10月24日

先说说我的平台:Archlinux + GNOME2.24 / xfce4.4.2
在安装字体之前,首先要装好ubuntu版的cairo、fontconfig、freetype2、libxft。当然,你也可以使用lcd版的,但我个人觉得ubuntu的比lcd的显示效果要好。下面是AUR上的链接

在vista上M$启用了不少新字体,但由于版权的问题,我这里就不提供了,有兴趣的Google之。

  1. Segoe UI 为 Vista 新英文 UI ClearType 字体
  2. Sans Serif 字体: Calibri Candara Corbel
  3. Serif 字体: Cambria Constantia
  4. monospace 字体: Consolas
  5. Msyh + Msyh bold 为 Vista 新中文字体
  6. Msjh + Msjh Bold 为 Vista 新繁体中文字体
  7. Meiryo + Meiryo Bold 为 Vista 新日文字体
  8. Malgun Gothic + bold 为 Vista 新韩文字体

将以上的字体放到 /usr/share/fonts/vista 下,然后在该目录下执行

sudo mkfontdir
sudo mkfontscale

并在 /etc/X11/xorg.conf 里加入一行:

FontPath “/usr/share/fonts/vista”

最后创建字体缓存

 fc-cache -fv

确保 /etc/fonts/conf.d/ 下有 51-local.conf 这个文件,并确保里面的内容是

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
	<!-- Load local system customization file -->
	<include ignore_missing="yes">local.conf</include>
</fontconfig>

然后下载这个local.conf文件(box.net | MediaFile | DivShare),解压后放到 /etc/fonts/ 下。这个文件是很早以前从linuxsir.org论坛上收集的,不记得原作者是谁了,在此对原作者说声抱歉。好了,重启系统(或注销)吧。

然后打开GNOME面板的“系统”—“首选项”—“外观”,选择“字体”—“细节”,按照下图设置


screenshot10.png

不用去改默认的字体,保持默认的Sans即可。怎样?效果还不错把。下面是我的一些截图。
nautilus截图


nautilus截图

日文字体


日文字体

中文字体


中文字体

shareitem.org在firefox下的截图


shareitem.org在firefox下的截图

163.com在firefox下的截图


163.com在firefox下的截图

Desktop , , ,

在Archlinux上安装VMWare6.5

2008年9月24日

虽然转到linux下已经有一段时间了,但仍然离不开windows,主要是我还需要用到网银和淘宝,但要我装双系统又好像有点不情愿,所以装一个虚拟机对我来说是最好的方法,而且适逢LDCN上报道VMWare最新的6.5版推出,所以决定在我的Archlinux上安装VMWare,下面总结一下具体的方法。
参考资料:

Archlinx Wiki上有说用AUR安装的,但那个PKGBUILD好像没有维护了,所以只好到VMWare官方下载安装程序。到VMWare的网站上下载 VMware Workstation 6.5,具体下载地址点这里。需要注册了才能下载的,而且注册后能获得30天使用的key。下载那个 .bundle 后缀的安装程序,我下载的是32位版本,整个安装程序有382M。

在下载途中,我们先做一些准备,以便稍候安装。首先打开终端,输入下面的命令(假设你以root身份执行)。
创建VMWare运行级目录

mkdir -p /etc/rc.d/vmware.d/rc{0,1,2,3,4,5,6}.d

创建lsmod的符号链接

ln -s /bin/lsmod /sbin/

好了,耐心等待下载吧。当完成后,定位到下载目录下,首先使安装程序具有执行权限。

chmod +x VMware-Workstation-6.5.0-118166.i386.bundle

输入下面命令开始安装。

./VMware-Workstation-6.5.0-118166.i386.bundle –custom

图一. 开始安装VMWare

整个安装程序是图形界面的,应该没啥大问题,可以一路next下去,当去到图二所示的System service runlevels时,填上

/etc/rc.d/vmware.d

图二. 选择System service runlevels的目录

去到图三所示的System service scripts时,需要改为

/etc/rc.d/

图三. 选择System service scripts的目录

图四是询问是否需要debug,如果你喜欢的话可以填上你的Eclipse的位置,我这里留空不填。

图四. 输入Eclipse的目录

接着又是漫长的安装过程了,我这里大概用了三分多钟来安装。

图五. 正在安装VMWare中

好了,终于安装完成了。

图六. 安装完成

可以到GNOME应用程序菜单中的系统工具里找到VMWare Workstation,点击启动。如果你有已经安装好能使用的虚拟机,可以直接用VMWare Player打开。在使用前,你需要同意VMWare 的 EULA。

图七. VMWare的EULA

好了,熟悉的界面出来了,现在可以尝试安装Windows XP了,而且VMWare6.5版还支持3D加速,支持Fsuion效果,赞。

图八. VMWare的程序界面

注意:

  1. 在每次启动VMWare时都需要加载两个内核模块(应该是四个,是我的大意,竟然漏了两个模块),分别是 vmmon 和 vmci 和 vmnet 和 vmblock,可以使用下列命令来加载。也可以使用 techlive 朋友的方法,直接将vmware添加到rc.conf中的daemon。(感谢 techlive 的提醒)

    # modprobe 模块名

    觉得麻烦可以将上面两个模块写到 /etc/rc.conf 文件的 MODULES 处,这样每次启动系统就会自动加载。

  2. 如果遇到 Guest os 没有声音,可以尝试到 VMware Workstation 里 Guest os 的 Hardware 设置中,将 Sound Card 设成一个具体的设备,例如 /dev/audio ,不要使用那个 Auto detect 选项,并且需要确保你的用户已经在 audio 组中。具体可以浏览这里。(再一次感谢 techlive 朋友 :)

Software , ,

在Archlinux上编译安装ibus输入法

2008年8月31日

ibus在昨天发布了其最新的0.1.1.20080830版,在看了LDCN的报道后,手痒痒的,于是在自己的Archlinux上编译玩了一把,初步试用后,决定将ibus设为我的默认输入法,那些scim和fcitx终于可以光荣退休了,目前使用上唯一的不足是输入条不能跟随,但这并不影响使用,而且相信在日后的版本中会得到改进的。点击访问ibus的主页

要在Archlinux上编译安装,首先需要满足依赖(我使用git方式来获取源代码,当然你也可以直接到其主页上下载

# pacman -S python dbus-python gnome-python dbus-python pyxdg cvs git

获取ibus的源代码

$ git clone git://github.com/phuang/ibus.git ibus

进入源代码所在目录

$ cd ibus

配置

$ ./autogen.sh –prefix=/usr

开始编译

$ make

安装ibus

# make install

在/etc/gtk-2.0/gtk.immodules文件中加入ibus,注意备份

# cp /etc/gtk-2.0/gtk.immodules /etc/gtk-2.0/gtk.immodules.bak
# gtk-query-immodules-2.0-32 > /etc/gtk-2.0/gtk.immodules

安装输入法引擎
大家可以选择安装拼音输入法和五笔输入法,其中拼音用的是scim-python的词库,我这里选择安装拼音,五笔的安装方法和拼音是一样的。
首先获取输入法引擎源代码

$ git clone git://github.com/phuang/ibus-pinyin.git ibus-pinyin(拼音)
$ git clone git://github.com/phuang/ibus-table.git ibus-table(五笔)

进入源代码所在目录

$ cd ibus-pinyin(或者是ibus-table)

配置

$ ./autogen.sh –prefix=/usr

编译

$ make

安装

# make install

编辑家目录下的.profile文件(隐藏文件),在其中添加下面三行,把scim和fcitx的相关项注释掉,并注销一次。

export XMODIFIERS=@im=ibus
export GTK_IM_MODULE=ibus
export QT_IM_MODULE=ibus

好了,安装算是完成了,可以在 “系统”-“首选项” 中找到 “IBus Preferennces”,进行必要的设置,例如加载相关的输入法引擎,是否随桌面一起启动等。第一次启动会询问是否启动守护进程,回答是即可。

下面是拼音引擎的设置截图,可以看出设置项还是很丰富的。

2008年9月6日补上AUR的PKGBUILD地址

Software , ,

开源字体美化:文泉驿点阵宋(GNOME)

2008年8月29日

文泉驿字体应该不用介绍了吧,这可是目前为数不多的中文开源字体,主要开发点阵和矢量字体。目前UbuntuFedora等发行版都已经使用文泉驿作为默认中文字体,而我们的Archlinux自然也不落后,可以直接从源里下载文泉驿点阵宋和正黑字体。下面分享下我用点阵宋美化的一些经验,也欢迎大家拍砖。
首先从源里安装字体,英文部分我用 dejavu 字体来显示,至于另外三个是其他的自由中文字体,最好还是安装上吧。

# pacman -S wqy-bitmapfont wqy-zenhei ttf-dejavu ttf-arphic-ukai ttf-arphic-uming ttf-fireflysung

如果你是lcd显示器的,可以安装 libxft-lcd 这个包以达到更好的效果。

# pacman -S libxft-lcd

然后下载这个fonts.conf文件(下载:box.net | RayFile),并放到家目录下,另外也可以拷一份放到/root/下。至于里面设置的含义,有兴趣的可以浏览字体设置这篇wiki文章
接着打开“系统”-“首选项”-“外观”,打开“字体”选项卡,按照下图的方式设置

然后点“细节”,也按照下图的方式设置

保存后,可以注销了,以下是我的效果图。(本来想找些中文目录的,但发现我硬盘里没有啊,只好新建了。)

Desktop , ,

HowTo:搭建家用下载&路由服务器

2008年6月21日

其实这篇文章不能说是 HowTo ,最多只能说是我自己的安装笔记而已。该服务器主要用来下载和实现共享上网,有空还可以用它来研究iptables。整个系统没有鼠标键盘显示器,全都日常维护都是用SSH进行,所以使用了密钥的验证方式确保安全。下载方面用mldonkey实现,通过局域网内其他电脑用网页方式管理,唯一的不足是对BT下载支持不够。由于服务器基本上都是24小时运作的,所有在上面弄了个dnsmasq,实现DNS缓存和DHCP,局域网的其他机器ip都是自动获取,接上网线就能上网,十分方便。

先说说用到的软件

  • ArchLinux
  • ssh
  • iptables
  • dnsmasq
  • mldonkey

ArchLinux
选择安装包时只选择 base 组,加上 support 组中 re-pppoe,sudo,iptables等几个包,安装一个最小系统。安装完后运行

# pacman-optimize
# sync
# pacman -Syu mldonkey dnsmasq

ssh
为了安全,我这里设置了只允许用密钥验证,以下是我的 /etc/ssh/sshd_config 文件的内容

Port 22
ListenAddress 0.0.0.0
Protocol 2

KeyRegenerationInterval 1h
ServerKeyBits 768

LoginGraceTime 2m
PermitRootLogin yes

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
PermitEmptyPasswords no

ChallengeResponseAuthentication no
UsePAM yes
Subsystem sftp /usr/lib/ssh/sftp-server

iptables
由于服务器上只有一张网卡连接到交换机,再通过交换机连接到 ADSL Modem 上,所以需要共享服务器上的ppp0链接让局域网上的其他机器上网。

# iptables -F INPUT
# iptables -F FORWARD
# iptables -F POSTROUTING -t nat
# iptables -t nat -F
# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp0 -j MASQUERADE
# iptables-save -c > /etc/iptables/iptables.rules

dnsmasq
这个主要是用来做 dns 缓存和 dhcp 服务,参考了 firefoxmmx 写的这篇教程《提高ADSL(pppoe)上网速度

# vi /etc/dnsmasq.conf

找到下面这一项

#resolv-file=

用下面的一条语句替换

resolv-file=/etc/resolv_dnsmasq.conf

将下面两句前的注释符号删除

interface=eth0
dhcp-range=192.168.1.10,192.168.1.20,255.255.255.0,24h

创建新的dns配置文件,把自己常用的DNS添加到/etc/resolv_dnsmasq.conf中

# cp /etc/resolv.conf /etc/resolv_dnsmasq.conf

编辑 /etc/ppp/pppoe.conf

# vi /etc/ppp/pppoe.conf

找到下列一行

PEERDNS=NO

并在该行下面添加

DNS1 = 127.0.0.1

mldonkey
这里要注意 mldonkey 默认只允许 127.0.0.1 访问,要首先设置允许其他网段访问。~/.mldonkey/downloads.ini 文件的第37行就是设置的地方。再配合《导入 amule/emule 的设置到 Mldonkey》和《让 MLDonkey 导入 amule/emule 的临时文件》两篇文章,驴子基本上能全速运行了,如果你遇到中文文件名变成下划线的问题,可以参考这篇文章《 解决 Mldonkey 中文文件变下划线问题 》。

最后启动服务
# /etc/rc.d/iptables start
# /etc/rc.d/sshd start
# /etc/rc.d/samba start
# /etc/rc.d/dnsmasq start
# /etc/rc.d/mldonkey start

或者编辑 /etc/rc.conf 文件,添加到 daemon 段中。

ok,收工,enjoy it。

Configure , , , , ,