简单搭建 OpenBSD 4.2 -release 中文环境

本文介绍如何在 OpenBSD 4.2 发布版中搭建完整的中文环境,包括下载源码、打补丁、编译系统以及安装中文输入法 Scim 的过程。

首先,你需要 OpenBSD 4.2 -release 的源码。这包括两个文件:src.tar.gz, sys.tar.gz。可以在各大镜像站点的 4.2/ 目录下找到。比如台湾的镜像:BSD爱好者乐园"? / T U O ^ E e

p s /4Z6w d(F'v9[ l


A M"}&i"?!i J
ftp://ftp.tw.openbsd.org/pub/OpenBSD/4.2/sys.tar.gz ftp ://ftp.tw.openbsd.org/pub/OpenBSD/4.2/src.tar.gz

BSD爱好者乐园#L O I V Y`+X*c k7m v
下载后请将它们解压缩到正确的位置:
Z7S S w O H u BSD爱好者乐园$]*|.m H ] g@

# tar zxf src.tar.gz -C /usr/src/
T/n(l X1@9K R o # tar zxf sys.tar.gz -C /usr/src/


b y Y-U"{ D 然后,为了获取 locale support,你需要下载 locale 支持的补丁。补丁在以下两个地址都可以找到:
s"v8K;E z0})g-i i BSD爱好者乐园*h'@ b0x R E j"o

* http://sigsegv.s25.xrea.com/distfiles/citrus/OpenBSD/ ,原始站点
2f J c M {6_ [ * ftp://ftp.pak.com.cn/OpenBSD-HEAD-citrus-20071008.tar.bz2 ,OpenBSDonly.org 版主 congli 友情提供,严重感谢,够意思 ^_^


n _ z c O3y a W 这里的 20071008 代表的是 OpenBSD CVS 代码的时间。我用 OpenBSD 4.2 -release 的代码来编译没有问题。
3M ]5O8]"C)D/Y g r2M(w 下载后请解压:
f.z%O9O'i c7j I Q i
"B5E4t-R+` ` I p2J(W

# bzip2 -d OpenBSD-HEAD-citrus-20071008.tar.bz2
xU m D _1S(`2`6[,s5@ # tar xf OpenBSD-HEAD-citrus-20071008.tar


'u n M h h0Dn u;O$v ? 解开后会有三个文件:
0H K c O!l j s6S7d /
+}4}8x!l n n'{_ B

citrus.patch
A l x2V ^ } C1U / A8j rename.patch
-q6y v+] r `"U D'n INSTALL-OpenBSD

BSD爱好者乐园 r2q ] A%R!M*D N8R {
其中,citrus.patch, rename.patch 都是代码补丁,而 INSTALL-OpenBSD 则是说明文档。大家只要照着 INSTALL-OpenBSD 里的说明,一步步操作就 OK 了。这里简单介绍一下:BSD爱好者乐园&Y D m/s z T C0A

d O:{ m8p#b c F t

# export BSDSRCDIR='/usr/src/'
#A,A$I b | o F ~ G BSD爱好者乐园 B(B"] K*R b0d l7S1E
# cd ${BSDSRCDIR} BSD爱好者乐园(h*{%E U t4F a*n4[ T

q B o#n%m+q V&{ G(/ # BSD爱好者乐园&[ v N:A#y
# 开始打补丁啦
M W n W6P+I9O #
P6N8M r E ]D l$Y$F # patch -p0 -E -l -d ${BSDSRCDIR} < /root/citrus.patch BSD爱好者乐园 T#{ Z)I W;Z
# patch -p0 -E -l -d ${BSDSRCDIR} < /root/rename.patch BSD爱好者乐园4T q,] c(/
BSD爱好者乐园 S A v E'M9b-I5j
# BSD爱好者乐园2d5j9I,N H ?"V3S K
# 更新   /usr/bin/make 程序
!A'_2A u C Z ~ # 注意:这里 make depend 可能会提示没有 depend 这个参数。可以简单地乎略过去,以
8J'Q/T V p #       make all install 来取代之 BSD爱好者乐园 q8X k ~/p!B A
#
&D j T-G.L # cd ${BSDSRCDIR}/usr.bin/make && make depend all install BSD爱好者乐园 p8~/W;U"/4N U6y Z
BSD爱好者乐园 Y%cO+~ @ G.m9D o
# BSD爱好者乐园 A5Q u%J Q8v D A#A x J
# 更新 /usr/share/mk/bsd.*.mk 文件
^ f+H P a'B:a#G)J U #
P!Q#y3r U ]'v Q # cd ${BSDSRCDIR}/share/mk
4T4U_ e:W c ]0l%V # make install
y9v _(z+o z d s5`)S @#I
-s E u X&g F Lh N # BSD爱好者乐园 F*h m/v Q ] / p3{)S U
# 更新 /usr/include/* 文件
+T ? P _ c | w l # BSD爱好者乐园 },K oXx _ u ? ?3n e
# cd ${BSDSRCDIR} && make includes
U9L9q2Y$~4N S l$B/K E BSD爱好者乐园 F Z'j!p y Y'g X(} W ] _
#
0J q |6x*{ T L F'l # run make beforeinstall (fix hier)
{:H3J G6E R$^ #
c D!W v H#g ~ T # cd ${BSDSRCDIR} && make beforeinstall BSD爱好者乐园 g k c N J N

y P I t/o;w-X #
7H B%G8l C B [4C T s # 更新 /usr/lib/libc.*
x%k u n+^ G #
|,D#O&G `7h E # cd ${BSDSRCDIR}/lib/libc && make depend all BSD爱好者乐园,M U:l*F b!i'b"s
BSD爱好者乐园&m p Z5b Q"g M+D J*t
# BSD爱好者乐园 { F l m ~ v w n |
# 注意,以下代码里的 major, minor 请自行以你系统上实际的版本来代替
:J L X u m:w S m+z #
G-Z4N h$Q # cp /usr/lib/libc.so.${major}.${minor} /usr/lib/libc.so.${major}.${minor}.orig BSD爱好者乐园 { L t j M;` u a3F
# make install BSD爱好者乐园 Y3Z K x)@&n
BSD爱好者乐园 I)O j P!J#x g
#
zq5L+f(y E X # 安装 /usr/bin/mklocale 程序
F Y.P S;~ b5v } # BSD爱好者乐园 i3t k+] H
# cd ${BSDSRCDIR}/usr.bin/mklocale && make depend all && make install
+e(rR I!h4m#j X l s BSD爱好者乐园 z:D%@ |/n U / G |
#
*T V F(K o d # 安装 /usr/bin/mkcsmapper 程序 BSD爱好者乐园5H4F&s%z V O+?
#
&/[9T f y8U'Y+K # cd ${BSDSRCDIR}/usr.bin/mkcsmapper && make depend all && make install
E E a,F(A%t t r
i M&u%x6c5[8E3[ #
q ~ H5/1f w Z # 安装 /usr/bin/mkesdb 程序 BSD爱好者乐园 {"`-B*x'^ g p U,Q G Y
#
a ] _ x L7N # cd ${BSDSRCDIR}/usr.bin/mkesdb && make depend all && make install
WB k ^ Z3x3U } t*c BSD爱好者乐园 I c*x1I U"R$Y f q ]p L
#
(N n&s)^4m # 重建整个系统 BSD爱好者乐园 g] Q3W0s R I
# 注意:以下命令将会重新 build 整个系统,会花比较长的时间。用虚拟机的朋友请 BSD爱好者乐园 V m t w&D"q(B B } K'm
#       做好心理准备 BSD爱好者乐园+Q {,i$q ` L E6p-o
#
S+p.c2P3t M b h2K # cd ${BSDSRCDIR} && make build

BSD爱好者乐园+G3x0f ` S)Z ~ S
整个打补丁和编译的过程就以上这些步骤,只是比较费时间而已。但是我相信在编译完并配置好后,你会说一个字:值。也许两个字:SO COOL.BSD爱好者乐园 U d2o o t4S3M o'z ^ i
BSD爱好者乐园7T @ u6F /
在编译完成之后,运行以下命令可以看到所有可用的 locale:
*F.L q.J1L-d*J7]#O0M BSD爱好者乐园 z ` g s O

# locale -a

BSD爱好者乐园/T4H H'v7v V U
查看中文 locale:
l a X Q b2k&y f&~6U /1e BSD爱好者乐园 r4@ v y g n

# locale -a | grep zh


-h H B'a c q M#O V d/y)S locale 的设置可以加在 ~/.profile 文件中。下面是我在 ~/.profile 文件中添加的部分:BSD爱好者乐园*A Tf B r M x h0k f },|3R

V r }:?(s0{3? G [ o ?

# Part of file: ~/.profile BSD爱好者乐园(C/T7j3M { q `
# 以下两个都是设置 ksh 的 history 属性 BSD爱好者乐园2d&D p x#| b8K*I a
export HISTFILE=~/.history BSD爱好者乐园 t/?*^8y F7` y
export HISTSIZE=1000
F n+i.|5_ V3N:y d#c'w BSD爱好者乐园 V/o!{,K0D3M s W
# 设定 locale,需要重启系统才会生效 BSD爱好者乐园-i M$b L3i(S6i
export LC_CTYPE=zh_CN.GB18030

BSD爱好者乐园,` B i [0d/u6M Z z
我个人比较喜欢 fcitx 中文输入法,但是这次没成功 -- 编译安装都没问题,也可以打字到程序上,但是打出来的是乱码。和我在 RHEL5 上出现的情况一样。所以应该是设置的问题,和 locale 没有关系了。只好退而求其次,用上了 Scim。
m I$a E)f W+?/d ~7c BSD爱好者乐园 D&g+u6E0I7j&O u
Scim 的安装,大家可以到它的官方网站:http://www.scim-im.org 下载。BSD爱好者乐园 c%y8g f K c+Q ['o%d(u
我个人使用 拼音输入法,所以只需要安装两个文件:
8i q,X5N ~ U / c n.o k8B
Z _7Q!q a

scim-1.4.x
:hH2z X N x }3m D$_ scim-pinyin

BSD爱好者乐园 ~ [$u"J B l F0m ]9p0B
输入法模块可以根据自己的需要进行安装。BSD爱好者乐园 ] U T*W o*W9y m

g-S {q y H E f&P X 编译参数没有什么特别的,我都是用这个参数的:BSD爱好者乐园 r {"t i p

1h | f$h7Q D!g

# ./configure --prefix=/usr/local

BSD爱好者乐园.B F V v-I q E
关于输入法方面的设置:BSD爱好者乐园3S#M G/h E l t N:h

5T X A Y G Gm

# File: ~/.xinitrc BSD爱好者乐园'l U I ]/e
export LC_CTYPE=zh_CN.GB18030 BSD爱好者乐园 m A V y&C K

;K u/e I g:O-O!H export XMODIFIERS="@im=scim"
J'J6{2g r9L [ export XIM=scim
!R$d.i j3N6K S } export XIM_PROGRAM=scim BSD爱好者乐园 D h T!U D i
export GTK_IM_MODULE=scim BSD爱好者乐园 G8z f0U O!m9i5Q [8o
export QT_IM_MODULE=scim BSD爱好者乐园 V I4OS9l @
BSD爱好者乐园 z T ~ B z,A7P
exec gnome-session


S!t Q0J Z,w 很奇怪,Scim 不需要在 .xinitrc 里指定启动的程序,它会自动被调用。
"y$X.q'o /(p)K T i BSD爱好者乐园 @.k E$p ~ l9M3Q C;[
简单的中文美化:BSD爱好者乐园 / n l ` T k f
首先,复制你喜欢的字体到 ~/.fonts/ 目录下,并使用命令生成字体的信息:
Z Q r c r @ BSD爱好者乐园 A F _ G l1]7| e S0{ I

$ cd ~/.fonts BSD爱好者乐园 O2o r:c0@ i"F g
$ mkfontscale >fonts.scale
^$B /$N _0k)@'?%_ $ mkfontsdir > fonts.dir
v w ~0s g / # sudo fc-cache -fv

BSD爱好者乐园+~"[ l/Y&T'k z t
然后备份你的 /etc/fonts/fonts.conf 文件:
7Z l+Z c3h
k;d [(R R ]7u ~

# cp /etc/fonts/fonts.conf /etc/fonts/fonts.conf.bak

BSD爱好者乐园 O V h P i v Y
将附件里的 fonts.conf 文件下载后另存为 /etc/fonts/fonts.conf 文件。
}$T:W q(T r%{ p A
d x E O%s A8L b u [3/%H 重启 X-Window,再登录进去试试看效果。BSD爱好者乐园 |9` qQ p!r p G

3e r ] a+C&w7L a ] S OK,That's all. Reboot your system now, and test your chinese env.BSD爱好者乐园)Q6|!N!K z(L M"h d

1j K O K2e e S Y3}%j9{ J d Enjoy...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值