imaq 发表于 2003-4-21 21:41:39

制作支持中文的Knoppix

制作支持中文的Knoppix

汉字的显示还是没有下面中文版那个那么漂亮,权做抛砖引玉吧。

准备工作:
1) 首先你得已经有一张Knoppix光盘
我用的Knoppix-3.2-20030330。ftp://ftp3.linux.it/pub/mirrors/knoppix是个不错的下载点。


2) 第二个问题就是硬盘空间,
- 2.5G的Linux ext2/ext3分区,用于存放临时的文件系统,安装、配置软件都在此进行
(也可以不是独立分区,某个linux分区上有这么大的剩余空间也行)
- 2.5G左右的Linux swap分区,create_compressed_fs需要它
- 700M左右的空间用于存放cloop压缩文件系统镜像
- 700M左右的空间用户存放最终的光盘

3) 软件包
如果你没有宽带的话,需要先准备好要添加的软件包,包括中文输入法、汉字字体包、词典工具、kde和openoffice的中文支持包等等
因为Knoppix是基于Debian的,所以这些软件包可以从ftp://ftp.debian.org/debian/pool下可以下载到,
各个debian镜像也可以,ftp.hk.debian.org是个挺快的镜像

0、启动Knoppix
用Knoppix启动,机器性能一般的机器最好选用knoppix desktop=wmaker启动到一个不太耗资源的桌面,或者干脆knoppix 2启动到无X的状态
后面的操作都需要root用户才能进行:切换到Console即可,knoppix已经用root登录到Console了
(桌面用户是knoppix,用sudo passwd更改root口令后可以用su切换成为root用户)

1、拷贝光盘上已有的内容
将Linux分区mount上来,假设挂接点位置是/mnt/remaster
然后cp -Rp /KNOPPIX /mnt/remaster将光盘上的cloop映像拷贝到目标盘
如果某个现有Linux分区上有2.5G以上空间也可以,先在该分区上建立一个knoppix目录,
然后cp -P -r /KNOPPIX /mnt/hda?/knoppix。后面chroot /mnt/hda?/knoppix即可。其他步骤类似。

2、chroot
$ chroot /mnt/remaster
这样系统会将/mnt/remaster作为根目录
然后:
$ mount -t proc /proc proc

3、配置网络
为了下载要添加的软件包,要先配置网络,如果
如果是通过局域网接入,运行netcardconf即可
如果通过ADSL接入,运行/usr/sbin/pppoeconf (配置好以后,可以通过poff关闭连接,pon打开连接,plog查看日志,ifconfig ppp0查看状态)

4、删除一些软件包
为了挪出空间供我们安装中文支持包,我们必须删除一些软件包。可以用如下命令找出那些包最占空间
$dpkg-awk "Status: .* installed$" -- Package Installed-Size| awk '{print $2}' \
| egrep -v '^$' | xargs -n2 echo | perl -pe 's/(\S+)\s(\S+)/$2 $1/' | sort -rg

我删除了如下一些包(用dpkg -r pkgname即可删除)
       tetex (tetex-bin, tetex-base, tetex-extra, tetex-eurosym and dvipdfm)
       lyx
       openoffice-de-en这是Knopper自己制作的一个版本,我们无法在上面添加中文支持包,需要安装debian提供的openoffice.org
       selflinux    这是一套德文的Linux文档
       qcad      professional CAD System
       kde-i18n-it/ru/nl/pl/da/tr/deItaly/Russian/Dutch/Polish/Danish/Turkish/German (只保留了es/ja/fr)

5、添加软件包
如果你有宽带:
请先手工下载apt, apt-utils, dpkg-awk这几个包,然后通过apt命令或者dselect即可在线安装软件包
下面假设你熟悉debian, 至少知道怎么使用dpkg和apt
[ 快速入门:
   列出已有软件包: dpkg -l
      比如dpkg -l kde-i18n-*可以列出所有kde的i18n支持包
   安装软件包:   dpkg -i xxxx_i386.deb   dpkg -i xxxx_all.deb
   删除:    dpkg -r pkgname   
      dpkg -P pkgname
   重新配置:   dpkg --configure pkgname
      (一般安装某个软件包后因为缺少依赖包而会导致配置失败,所以安装依赖包后需要手动进行配置)
   全部配置: dpkg --pending --configure
   查看包的说明信息: dpkg -s pkgname
   查看包的文件列表: dpkg -L pkgname
   从网络自动下并安装某个包: apt-get install pkgname
]

用synaptic也是个不错的选择,它是apt的GUI front-end,但你需要在X下使用它:
    $ DISPLAY=myip:0.0    ( replace my ip with your actual IP)
    $ export DISPLAY
    $ synaptic


6、安装中文支持软件

1)、中文输入工具的安装
   chinput_3.0.2 (and unicon-im_3.0.4, libpth2)
   xcin_2.5 (and libtabe2/libtabe-db)
建议两者都安装。注意不要安装xcingb-2.3版本,这是过时的版本,用于xcin+crxvt的,不是基于XIM协议的。

Knoppix里的缺省配置是将XMODIFIERS设置为"@im=Chinput"的,
如果要使用xcin,需要自己修改/etc/init.d/knoppix-autoconfig:
如果是用繁体中文,XMODIFIER设置为@im=xcin即可
如果是用简体中文,XMODIFIERS需要设置为@im=xcin-zh_CN.GB2312

注意,因为Debian系统中对于8x16这个字体别名存在错误映射,导致Chinput无法加载8x16字体而无法运行
所以要修改一下/usr/X11R6/lib/X11/fonts/misc/fonts.alias
- 8x16 -sony-fixed-medium-r-normal--16-120-100-100-c-80-iso8859-15
+ 8x16 -sony-fixed-medium-r-normal--16-120-100-100-c-80-iso8859-1

当然修改/usr/lib/ZWinPro/Chinput.ad将8x16改为别的字体的名字也可以


2)、中文字体的安装配置
中文字体:   
ttf-arphic-gbsn00lp (简体中文 宋体,简体中文下必须)
ttf-arphic-bsmi00lp (繁体中文 细明体,繁体中文下必须)
ttf-arphic-bkai00mp(简体体中文 楷体)
ttf-arphic-gkai00mp(繁体中文 楷体)
xfonts-intl-chinese       这个Knoppix-3.2自带
xfonts-cjk      现在已经包含在xfonts-base里面了
安装ttf-arphic后,需要自己修改一下配置
先在/usr/share/fonts/truetype/arphic目录下执行 ttmkfdir > fonts.dir && cp fonts.dir fonts.alias
然后修改下面几个配置文件
/etc/X11/XftConfig: 添加dir "/usr/share/fonts/truetype/arphic"
/etc/fonts/fonts.conf: 添加<dir>/usr/share/fonts/truetype/arphic</dir>
/etc/X11/XF86Config-4.in: 添加 FontPath "/usr/share/fonts/truetype/arphic"
    并注释掉原来的Load "freetype"行,添加Load "xtt"

也可以安装Windows的simsun字体,配置方法与其他Linux版本类似,很多文档讲到了这个,自己找一下

3). 终端模式下的中文系统
Debian里提供的中文终端,有zhcon, cce, yh, chdrv这几种选择。
推荐zhcon, 兼容性好,速度快,使用方便,采用framebuffer但不象unicon那样要内核模块支持
后面这三个是备选的,而且都是基于svgalib的,某些显卡可能不被svgalib支持
zhcon_0.2 (需要 libggi/libggi-target-x/libggi-target-fbdev/libgii/libgii-target-x)   
cce_0.36
yh_3.1 (炎黄中文平台)
chdrv_1.0.13p (and chdrvfonts)   

4). X下的终端
cxterm-gb/big5    虽然是过时的东西,但有时还是很有用的。因为自带输入法,不需要配置xcin/chinput等
rxvt-ml      multi-lingual VT102 terminal emulator
aterm-ml      Afterstep XVT (可选)
wterm-ml      A multi-lingual rxvt based, color xterm replacement, optimised for use under WindowMaker.(可选)

5). KDE和OpenOffice的中文支持
Knoppix 3.2采用了KDE 3.1,中文支持包:    kde-i18n-zhcn_3.1.1/kde-i18n-zhtw_3.1.1

Knoppix 3.2自带的OpenOffice是Knopper自己制作的一个版本,我们无法在上面添加中文支持包,
需要先删除openoffice-de-en包,然后安装debian提供的openoffice.org
需要下载openoffice.org, openoffice.org-bin, openoffice.org-l10n-zhcn, openoffice-help-en这几个包,
-help-en是可选的,(手工下载的话,在/debian/pool/contrib/o下可以找到)

注意OpenOffice比较大,这几个包安装后大约有200M,所以可能需要再删除一些其他的软件包

6). 其他中文支持软件
词典:      
stardic_1.3.1   
pydict_0.2.5.1 (and python-gdk-imlib_0.6.9/python-gtk_0.6.9)# python-gtk_0.6.11 and above are for python2.2
中文文档:
debian-guide-zh-s
debian-zh-faq-s_1.6 (这份FAQ还是很重要的)
doc-linux-zh-s_2001.01-1.1
doc-linux-zh-text_2001.09-2003.01
一些小工具
cpanel
hztty
zh-autoconvert
yiyantang
几个小玩意儿
fortune-zh
gtans
kmahjongg/gnome-mahjongg
pyching


6. 其他

添加FAT文件系统的中文文件名支持:
只要解决mount时自动添加iocharset=gb2312,codepage=936就可以了
但实际运行时/etc/fstab是自动产生的,所以要修改/usr/sbin/rebuildfstab
   vfat|msdos) if [ foo$LANGUAGE = "foocn" ]; then
         options = "iocharset=gb2312,codepage=936,${options},umask=000,uid=knoppix,gid=knoppix"
         else
         options = "${options},umask=000,uid=knoppix,gid=knoppix"
      fi
然后修改/etc/init.d/knoppix-autoconfig
配置桌面图标
桌面图标的系统配置在/etc/skel/Dekstop目录下,扩展名为.desktop即是,
如果selflinux包已经删除的话,selflinux.desktop也可删除
添加:比如要添加Debian Chinese FAQ的图标,可以建立一个Chinese FAQ.desktop
   
    Name=Chinese FAQ
    Name=使用中文FAQ
    Icon=zh
    Type=Link
    URL=/usr/share/doc/debian-zh-faq-s/html/frames/index.html
同样,我们可以给cpanel, pydict, cxterm等添加上图标,
pydict的桌面图标可以从/usr/share/gnome/apps/Chinese/pyDict.desktop拷贝过来

安装Acrobat Reader的中文字体包
Knoppix里面带的Acrobat Reader是4.05的版本,如果4.x的中文字体包的话,也一样可以安装
安装目录选择为/usr/lib/Acrobat4即可
注意Acrobat Reader 4.x中文字体包的安装脚本有点问题,需要ExtractFiles中expr两行的正则表达式里的
第一个^删除
ExtractFiles ()
{
id_out="`id`"
uid=`expr "$id_out" : '^[^(]*(\([^)]*\)).*'`
gid=`expr "$id_out" : '^[^(]*([^)]*).*(\([^)]*\)).*'`
if [ "$uid" = "root" ] ; then
    ( cd "$1" ; tar xpfo "$2" ; chown -R $uid . ; chgrp -R $gid . )
else
    ( cd "$1" ; tar xpfo "$2" )
fi
}
另外也可以安装xpdf-chinese包(xpdf-chinese-simplified/traditional)
但它们不是free的,在/debian/pool/non-free/x目录下可以找到

7. "打完手工"
如果空间如果的话,还可以添加一些自己常用的程序,我添加了如下一些
gftp
d4x
gnome-commander
sylpheed-claws
gtktalog
安装完所有需要添加的包后最好用deborphan检查一下是否有orphaned packages
$ deborphan > /tmp/orphanlist
$ dpkg -P `cat /tmp/orphanlist`
$ rm /tmp/orphanlist
然后删除所有临时文件。
用df检查一下文件系统耗用,保证在1900M以下(因为簇大小关系,实际耗用一般只有1700M)
最后退出虚拟系统
$ umount /proc    (this is very important!)
$ umount -a
$ exit   # leave chrooted environment


8. 制作cloop压缩映像
$ mount /dev/hda3
$ mkdir -p /mnt/hda3/knoppix-zh_3.2/NewCD/KNOPPIX/KNOPPIX
$ mkisofs -R   /mnt/remaster|create_compressed_fs -65536> /mnt/hda3/knoppix-zh_3.2/NewCD/KNOPPIX/KNOPPIX   
注意是大R,这样才能保留文件属主信息
这个过程很费时间,在我的AMD 1300/256M RAM/金钻40G上大约需要30分钟
执行之前用free检查交换空间大小,建议至少有2G。最好中途不要做别的事情
完成后create_compressed_fs会有一个报告,如果报告大小在690M以内的话,就差不多了

9. 制作新的光盘
将光盘上其他文件都拷贝到/mnt/hda3/knoppix-zh_3.2/NewCD下,如果超过700M的话,可以考虑删除/Demos目录
# cd /mnt/hda3/knoppix-zh_3.2
# mkisofs -r -J -b KNOPPIX/boot.img -c KNOPPIX/boot.cat   -o myknoppix.isoNewCd

10. 测试
如果你有VMware,测试就很方便了,因为Knoppix里的X已经带有vmware支持
用它启动就可以了,在启动时键入knoppix lang=cn
注:切换到Console要用Ctrl+Shift+Alt+F1/F2/F3/F4,但vmware里无法测试framebuffer支持

如果没有问题,就可以刻成光盘了


补充说明

1、修改启动参数里的lang和启动时的提示信息
按上述方法,仍然要求启动时键入lang=cn这个参数,如何把它设置为缺省的呢?
$ mkdir /mnt/bootimage
$ mount /mnt/hda4/knoppix-zh_3.2/NewCD/KNOPPIX/boot.img /mnt/bootimage -o loop
然后修改/mnt/bootimage/syslinux.cfg,将第二行的lang=en改为lang=cn即可,
wheelmouse也可以在这里加上

boot.msg里存放有最开始显示在屏幕下方的版本信息
f2存放有一些可用的启动参数提示,可以在这里添加一个lang=cn的提示
(因为Knoppix基本上没有GNOME桌面包,所以这里的desktop=gnome提示信息也可以删除)

修改完成后 $ umount /mnt/bootimage
2、修改启动画面
请参考http://www.linuxgazette.com/issue87/sunil.html

3、xmms的Skins
Knoppix没带任何的xmms的skin,如果你有一些很不错的,可以拷贝到/usr/share/xmms/Skins目录下
(/usr/share/xmms/Skins目录需要自己创建)

4、换桌面的背景图片
替换/usr/local/lib/knoppix.jpg即可

5、安装Knoppix到硬盘
如果想将Knoppix安装到硬盘,以root执行/usr/local/bin/knx-hdinstall即可
如果你的硬盘不是很差的话,安装过程不到5分钟——手工安装Debian可真是个恶梦
也可以在安装后的系统上制作Knoppix,但很需要一些技巧,
具体可以参考{http://www.freenet.org.nz/misc/knoppix-install.html}


参考文档:
{http://www.linuxgazette.com/issue87/sunil.html},Linux Gazetter专栏文章,这篇文档基于该文写成。
页: [1]
查看完整版本: 制作支持中文的Knoppix