自己动手制作Knoppix中文版.docx

上传人:b****1 文档编号:12471979 上传时间:2023-04-19 格式:DOCX 页数:14 大小:21.62KB
下载 相关 举报
自己动手制作Knoppix中文版.docx_第1页
第1页 / 共14页
自己动手制作Knoppix中文版.docx_第2页
第2页 / 共14页
自己动手制作Knoppix中文版.docx_第3页
第3页 / 共14页
自己动手制作Knoppix中文版.docx_第4页
第4页 / 共14页
自己动手制作Knoppix中文版.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

自己动手制作Knoppix中文版.docx

《自己动手制作Knoppix中文版.docx》由会员分享,可在线阅读,更多相关《自己动手制作Knoppix中文版.docx(14页珍藏版)》请在冰豆网上搜索。

自己动手制作Knoppix中文版.docx

自己动手制作Knoppix中文版

自己动手制作Knoppix中文版

窗体顶端

窗体底端

版本:

v0.22-2003-09-29

版本沿革:

∙v0.22-2003-09-29细化关于cloop的描述

∙v0.2-2003-09-28添加关于cloop的描述,并修改了大量细节

∙v0.1-2003-09-27首次发表

一、简介

下文将介绍如何定制一张中文版的Knoppix。

主要步骤:

∙准备足够的硬盘空间和交换分区

∙将Knoppix光盘上的那个大大的压缩文件KNOPPIX拷贝出来,并解压缩

∙根据自己的需要,添加/删除软件

∙添加中文显示和输入支持

∙重新压缩KNOPPIX

∙制作光盘镜像iso文件

二、准备工作

1)准备软件

  从获得最新光盘影像文件,本文使用的是KNOPPIX_V3.3-2003-09-24-EN.iso。

2)准备硬件(建立硬盘分区)

  由于要建立压缩的文件系统(compressedfilesystem),需要空间较大的交换分区(swapspace),最少1GB空闲RAM+Swap(比如256M内存和750M的swap),推荐建立2G的swap分区。

(创建压缩文件系统时要用到。

如果交换分区太小,会报错);3GB空闲的Linux分区(ext2/3,xfs等都可以)。

三、操作步骤:

1)打开一个shell,使用su命令获得root用户的权限。

下面所有命令都是在这个rootshell里面运行的;

2)配置您的Internet连接(稍后要用到);

3)确定用来工作的分区。

在本例中,是hdb2。

该分区至少要有3G空间;

4)加载该分区:

mount-orw/dev/hdb2/mnt/hdb2(如果不照做,你可能会在chroot环境工作时遇到麻烦);

5)创建一个用来工作的目录:

mkdir/mnt/hdb2/working(把所有文件放在这里,用完可以方便地删除);

6)如果你没有1GB内存,(cat/proc/meminfo(物理内存+swap))那么您需要一个swapfile:

cd/mnt/hdb2/working;ddif=/dev/zeroof=swapfilebs=1Mcount=750;mkswapswapfile;swaponswapfile;

7)创建2个目录,一个用于存放我们的新CD(NewCD),一个用于存放现有CD的内容(OLD):

mkdir/mnt/hdb2/working/NewCD;mkdir/mnt/hdb2/working/OLD;

8)mkdir/mnt/hdb2/working/OLD/KNOPPIX;

9)您可以不用光盘启动,而直接mount下载得到的iso文件,然后把光盘上/KNOPPIX/KNOPPIX文件复制出来:

∙mkdir/mnt/iso

∙mount-oloop-tiso9660KNOPPIX_V3.3-2003-09-24-EN.iso/mnt/iso

∙cp/mnt/iso/KNOPPIX/KNOPPIX/mnt/hdb2/working

∙再Mount压缩的KNOPPIX文件:

oinsmodcloopfile=/mnt/hdb2/working/KNOPPIX如果这一步出错,请看本文结尾处对cloop的描述。

omkdir/mnt/KNOPPIX

omount-oro/dev/cloop/mnt/KNOPPIX

∙复制knoppix源文件到您的工作目录(这可能得花点时间)

omkdir/mnt/hdb2/working/OLD/KNOPPIX

ocp-Rupv/mnt/KNOPPIX/*/mnt/hdb2/working/OLD/KNOPPIX/

∙卸载/mnt/KNOPPIX

umount/dev/cloop

∙卸载iso文件,删除/mnt/hdb2/working/KNOPPIX

umount/mnt/iso

rm-f/mnt/hdb2/working/KNOPPIX

10)mkdir/mnt/hdb2/working/NewCD/KNOPPIX;

11)cp/cdrom/index.html/mnt/hdb2/working/NewCD/;

12)现在,复制/cdrom/KNOPPIX/下面的所有内容到/mnt/hdb2/working/NewCD/KNOPPIX/,除了那个接近700Mb的名字叫做KNOPPIX的文件。

(cd/cdrom/KNOPPIX;find.-size-10000k-typef-execcp-p--parents{}/mnt/hdb2/working/NewCD/KNOPPIX/\;)

13)现在您可以"chroot"到刚才复制的KNOPPIX中去:

chroot/mnt/hdb2/working/OLD/KNOPPIX;

14)现在您已经处于chrooted环境中。

"/"实际上是"/mnt/hdb2/working/OLD/KNOPPIX";

15)要使用Internet,您需要加载proc文件系统:

mount-tproc/procproc,然后编辑/etc/resolv.conf添加您的nameserver;

16)如果您需服务微软的工作组(通过samba),那么smb.conf也要修改(通常,MSHOME是XP家庭版,WORKGROUP是Win9x);

17)检查您的chrooted环境的Internet连接:

ping;

18)更新您的软件包列表:

apt-getupdate;

19)现在您可以开始修改软件包,自己决定删除哪些,安装哪些;

∙在安装或删除软件之前,您可以看一下目前已经安装了哪些软件:

dpkg-query-l

∙也可以让这个列表以软件包的大小排序:

dpkg-query-W--showformat='${Installed-Size}${Package}\n'|sort-n

∙要删除一个软件包(以及所有依赖于它的软件包),可以这样:

apt-getremove<要删除的包的名字>

我删除了这些:

apt-getremoveselflinuxkde-i18n-{tr,pl,cs,ja,nl,ru,it,da,es,de,fr}

其中,selflinux是一套德文的Linux文档,kde-i18n-*是其他国家的kde本地化文件。

这些文件占用大约200M硬盘空间。

检查“孤儿”软件包,这样:

deborphan

要想通过删除那些孤儿(多残忍!

)腾出更多空间,可以这样:

(警告,系统不会提示yes/no,当您在这条命令后面敲完回车,那些软件就没了):

deborphan|xargsapt-get-yremove

如果您觉得上面这条命令不太保险,想在不改变系统的情况下看看会发生什么,只要加一个-s参数(您可以在所有的apt-get命令中使用这个参数,这是个好习惯):

deborphan|xargsapt-get-s-yremove

∙现在,如果您要安装软件,用命令:

apt-getinstall<要安装的软件名称>

当然您最好事先设置离自己最近的apt源(把原来的/etc/apt/sources.list备份一下,完成后再恢复),我用的是:

debhttp:

//www.zentek-mainnon-freecontrib

另外,apt-get可以使用代理服务器,修改/etc/apt/apt.conf,添加一行:

Acquire:

:

http:

:

proxy"http:

//yourproxy:

yourport/";(注意最后面必须用“;”结束)

我就安装了两个软件包:

apt-getupdate

apt-getinstallkde-i18n-zhcnfcitx

∙什么,不知道要安装哪些软件?

用下面的命令。

当列表出现,您可以仔细看看(超过13000行!

):

apt-cachesearch.*|sort|less

∙如果删除和添加软件的工作完成了,清理现场的好方法是:

COLUMNS=200dpkg-l|grep^rc|awk'{print$2}'|xargsdpkg-P

当然,因为Debian的APT系统将下载的包做了cache,您可能想用下面的命令清除这些文件:

apt-getclean

∙用户设置在/etc/skel

20)中文化定制(这一节内容较集中,单独拿出来在后面写);

21)卸载/proc--非常重要!

∙更新文件列表库:

updatedb

∙更新菜单:

update-menus

∙删除无用文件:

rm/etc/*-

rm/var/mail/*

∙删除根目录下的.bash_history,.viminfo,.rr_moved等文件和目录:

rm-Rf/.bash_history/.rr_moved/.viminfo

∙卸载(unmount)proc(不能忽略):

umount/proc

22)按CTRL+D退出chrooted环境。

注意:

1)如果您想自动运行一些程序,可以在/etc/rc5.d/目录下创建脚本(这写脚本在X启动前被运行)。

2)/etc/init.d/knoppix-autoconfig里面的有趣东东:

∙X的背景图片是/cdrom/KNOPPIX/background.gif

∙和floppyconfig类似,有一个cdromconfig会运行cdrom/KNOPPIX/knoppix.sh

3)/etc/init.d/xsession里面的有趣东东:

  它也设置背景为/usr/local/lib/knoppix.gif

4)现在,开始创建ISO文件:

∙我们已经完成定制,要准备刻盘了!

∙现在我们将制作KNOPPIX这个大文件,这是个cloop的压缩ISO9660文件系统:

ocd/mnt/hdb2/working

omkisofs-R-U-V"Hiso9660filesystem"-P"Hiwix"-hide-rr-moved-cache-inodes-no-bak-padOLD/KNOPPIX|nice-5/usr/bin/create_compressed_fs-65536>NewCD/KNOPPIX/KNOPPIX

其中,""和"Hfilesystem"您可以自己改。

可能会有错误报告说和ISO标准不一致,您可以忽略它。

5)如果一切顺利,现在就开始制作光盘镜像了:

∙cd/mnt/hdb2/working/NewCD

∙rm-fKNOPPIX/md5sums;find-typef-not-namemd5sums-not-nameboot.cat-execmd5sum{}\;>>KNOPPIX/md5sums(这将更新新ISO的md5值,便于以后检查)

∙mkisofs-pad-l-r-J-v-V"KNOPPIX"-bKNOPPIX/boot.img-cKNOPPIX/boot.cat-hide-rr-moved-o/mnt/hdb2/working/knoppix.iso/mnt/hdb2/working/NewCD(把生成的ISO放在/mnt/hdb2/working/knoppix.iso)

∙完成!

技巧:

1)如果您要查找已安装的大软件包,请使用该命令:

dpkg-awk"Status:

.*installed$"--PackageInstalled-Size|awk'{print$2}'|egrep-v'^$'|xargs-n2echo|perl-pe's/(\S+)\s(\S+)/$2$1/'|sort-rg

  这将以降序显示。

  下面的命令至少比上面的快10倍,而且你不用dpkg-awk或者awk或者perl:

dpkg-query-W--showformat='${Installed-Size}${Package}\n'|sort-n

四、中文化定制

  注意:

以下所有步骤均在在chrootedenvironment下进行。

1)安装中文字体

安装simsun.ttf字体:

∙mkdir/usr/X11R6/lib/X11/fonts/ttf

∙cp/selfpkg/simsun.ttf/usr/X11R6/lib/X11/fonts/ttf

∙cd/usr/X11R6/lib/X11/fonts/ttf

∙ttmkfdir>fonts.dir

∙cpfonts.dirfonts.scale

2)修改XF86Config文件

vi/etc/X11/XF86Config-4.in

在Section"Files"段加入:

FontPath"/usr/X11R6/lib/X11/fonts/ttf"

在Section"Module"段加入:

Load"xtt"

加#号注释掉freetype:

#Load"freetype"

3)安装OpenOffice中文支持

cd/opt/openoffice/share/fonts/truetype

建立字体文件软链接

ln-s/usr/X11R6/lib/X11/fonts/ttf/simsun.ttfsimsun.ttf

把usr/lib/openoffice/share/fonts/truetype里的fonts.dir文件改名,并把/usr/X11R6/lib/X11/fonts/ttf/fonts.dir拷贝到此目录:

mvfonts.diroofonts.dir

cp/usr/X11R6/lib/X11/fonts/ttf/fonts.dirfonts.dir

合并字体文件:

catoofonts.dir>>fonts.dir

修改字体文件,打开fonts.dir,会发现fonts.dir文件变成了两部分,第一部分即原fonts.dir文件的内容,第二部分为原openoffice字体的内容,现删除openoffice字体的内容的数字部分(就是那个数字1),并把第一行改成本文件的行数(如总共8行,则将第一行的数字改成8)。

最后制作一个fonts_dir.global文件,并删除原openoffice的字体文件。

cp-ffonts.dirfonts_dir.global

rm-foofonts.dir

4)设置中文环境变量

修改/etc/bashrc和/etc/profile加入如下几行:

LC_ALL=zh_CN.GB2312

LANG=zh_CN.GB2312

LC_CTYPE=zh_CN.GB2312

XMODIFIERS="@im=fcitx"

XIM=fcitx

XIM_PROGRAM=fcitx

exportLC_ALLLANGLC_CTYPEXMODIFIERSXIMXIM_PROGRAM

5)配置启动参数

修改/etc/init.d/knoppix-autoconfig文件,找到简体中文所在的段(155行):

#cn)注释掉此行,改为*)即设为默认中文启动

*)

#SimplifiedChineseversion

COUNTRY="cn"

LANG="zh_CN.GB2312"

#LANGUAGE="gb2312.1980-0"

LANGUAGE="zh_CN.GB2312"

KEYTABLE="us"

XKEYBOARD="us"

KDEKEYBOARD="us"

CHARSET="gb2312.1980-0"

#AdditionalKDEKeyboards

KDEKEYBOARDS="us,de,fr"

XIM=fcitx

XIM_PROGRAM=fcitx

XMODIFIERS="@im=fcitx"

找到美国英语所在的段(354行),将*)改为us),即去掉英语的默认启动。

6)修改字体显示参数

6.1)修改/etc/skel/.kderc文件

将下面的行设定为simsun.ttf字体,建议字体大小为10像素:

[General]

activeFont=simsun,10,-1,5,75,0,0,0,0,0

fixed=simsun,10,-1,5,50,0,0,0,1,0

font=simsun,10,-1,5,50,0,0,0,0,0

menuFont=simsun,10,-1,5,50,0,0,0,0,0

taskbarFont=simsun,10,-1,5,50,0,0,0,0,0

toolBarFont=simsun,10,-1,5,50,0,0,0,0,0

6.2)修改/etc/skel/.kde/share/config/kdeglobals文件

[General](第29行)

fixed=simsun,10,-1,5,50,0,0,0,1,0

font=simsun,10,-1,5,50,0,0,0,0,0

menuFont=simsun,10,-1,5,50,0,0,0,0,0

taskbarFont=simsun,13,-1,5,50,0,0,0,0,0

toolBarFont=simsun,10,-1,5,50,0,0,0,0,0

[Locale](第174行)

Charset=iso8859-15

Country=cn

Language=zh_CN.GB2312

[WM](第281行)

activeFont=simsun,10,-1,5,75,0,0,0,0,0

6.3)修改/etc/skel/.kde/share/config/kdesktoprc

[FMSettings](第34行)

StandardFont=simsun,10,-1,5,50,0,0,0,0,0

6.4)修改/etc/skel/.kde/share/config/konsolerc

为保证konsole正确显示英文字体,把Lucidatypewriter字体改成Console字体:

[DesktopEntry]

defaultfont=Console,10,-1,5,50,0,0,0,1,0

font=8

 

五、高级定制

  请参考本文结尾提供的链接。

六、特别说明

1)关于fcitx输入法的特别说明

  要启动fctix,请在X的Console里面输入:

fcitx&。

  fcitx基本上不需要手工配置,不过系统字体对它很重要。

  如果你在启动fcitx时系统报告字体错误,类似于:

“无法加载字体-*-fixed-medium-r-normal--16-*-*-*-*-*-*-*,-*-simsun-medium-r-normal--16-*-*-*-*-*-zh_CN.GB2312-*”等等,请把~/.gWuBi/profile中的“显示字体=*”修改一下。

怎么修改呢?

用命令xlsfonts|grepgb来查看你的系统中注册了哪些gb码的字体,然后把字体名写上就可以了,比如“显示字体=songti”。

  关于输入法的问题,推荐一个好去处:

2)关于cloop的特别说明

  Cloop是COMPRESSEDLOOPBACKDEVICE(cloop.o)的简称,是一个第三方内核模块(官方内核中没有包含它),它提供文件系统无关的、透明压缩的、只读的块设备。

Cloop是Knoppix的重要组成部分。

  如果您在运行insmodcloop命令时出错,有可能您的交换分区太小,也有可能您根本没有安装cloop模块。

  Cloop的源代码可以在

∙cd/tmp

∙wget

∙tarxzfcloop_1.02-1.tar.gz

∙cdcloop_1.02-1

∙makeKERNEL_DIR=/usr/src/linux

∙mkdir-p/lib/modules/misc&&cpcloop.o/lib/modules/misc/

∙depmod-a

∙mknod/dev/cloopb2400

  如果还是不行,那么您恐怕只能刻一张光盘了……

七、参考文献

  制作一张支持中文的KnoppixCD

  KNOPPIX使用和定制指南

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1