完全定制属于自己的SLAX
摘要:用户可能在使用中会发现FanX中有些配置和安装的软件不能满足自己的需要,这并不是很奇怪的事,读者的口味各不相同,FanX也不可能满足每一个人的需求。为了满足自己的需要,下面我们一起来定制属于自己的SLAX。本文用的是SLAX-5.0.0英文版,与旧版或以后的新版会有不同,尤其是软件的版本。
预备知识
SLAX是基于slackware的LiveCD,与slackware相比只是删减了许多不常用到的软件,对系统的具体操作是完全相同的,我们现在只来了解将要用到的内容:
1. 软件包管理程序
Linux下有三大主要的软件包管理程序,分别管理的是rpm包,deb包,和tgz包。其中tgz包为slackware独用,我们以kde-i18n -zh_CN-3.4.0-noarch-1.tgz这个软件包来举例说明,kde-i18n-zh_CN是kde的简体中文支持包,在终端运行:
installpkg /tmp/packs/kde-i18n-zh_CN-3.4.0-noarch-1.tgz // 安装软件包
removepkg /tmp/packs/kde-i18n-zh_CN-3.4.0-noarch-1.tgz //删除软件包
不得不提安装软件包的-root参数,这个参数按照系统的结构将软件包安装在某个指定的地方,以供修改和打包,这对我们来说是很重要的:
installpkg -root /tmp/wang /tmp/packs/kde-i18n-zh_CN-3.4.0-noarch-1.tgz //安装kde-i18n-zh_CN-3.4.0-noarch-1.tgz到/tmp/wang下
2. 磁盘分区
Linux下这样识别硬盘分区,ide硬盘识别为hd,第一块ide硬盘就是hda,第一块硬盘的第一个分区就是hda1,一块硬盘可以有4个主分区, Linux下的分别为hda(1-4),扩展分区也算是一个主分区,我们平时使用的系统一般是hda1就是指的是C盘,hda2就是指所有的扩展分区,hda5就是D盘,以此类推。
3. mount文件系统
Linux可以支持多种文件系统,对于常见的fat,ntfs文件系统的支持自然不在话下。
Linux是通过mount来将其它的文件系统挂载到/mnt下来访问的。而在SLAX中,所有的磁盘分区默认都会挂载在/mnt下,一般C盘对应的就是hda1,hda5一般是D盘。
mount /dev/hda5 /mnt/disc0part5 //手动挂载磁盘
umount /mnt/disc0part5 //卸载已挂载的磁盘
如果已经挂载,重新挂载以前必须先要卸载,而且必须要有挂载点,上面/mnt/hda5就是挂载点。必要时需要用 –t 参数指定文件系统类型,如 vfat ,ntfs,iso9660等。在卸载时,确保所有程序已经退出该挂载点。
mount –t vfat /dev/hda5 /mnt/disc0part5 //指名挂载磁盘分区文件系统为FAT32
还有一个有用的挂载参数-o,用此选项可以挂载各种loop设备,比如iso,img文件都可以这样挂载到某个挂载点易做图问,而不用使用额外的软件。
mount –o loop /tmp/SLAX-5.0.0.iso /mnt/iso //将iso文件挂载到/mnt/iso下,这被称之为linux下的免费虚拟光驱。
mount –o iocharset=cp936 /dev/hda5 /mnt/disc0part5 //指名分区字符编码为简体中文
4. 在Linux中,文件文件夹名是区分大小写的。
5. Linux中的目录是用/隔开的,如/mnt/disc0part5/slax,而windows下是用隔开的如d:slaxdos
Remastering……
对SLAX的定制有两种方式,一种就是把你需要的东西集合起来,做成一个或者几个模块,然后植入iso中,这种方法不能删除原有的东西;另外一种就是将 SLAX完全展到硬盘上后进行裁减,然后安装上自己的东西后再制作成iso。两种方法各有优劣,第一种简单方便,直接可以在已经启动的SLAX中就可以完成但是定制性不是很强;第二种自由度大,但是稍有复杂。FanX-1.0用的是第2种方法,FanX-1.1用的是第1种方法,也就是说1.0版定制性高,下面一起来介绍。
FanX-1.1是这样做的……
上面提到,FanX-1.1的制作方法就是为SLAX增加模块的方法制作的,准备了3个模块,两个中文相关模块任意选一即可,包括字体、输入法、 glibc-i18n-zh_CN和kde-i18n-zh_CN等必要东西,还有一个可选的程序模块,包括opera,ark,slackins等小工具。具体列表如下:
01_fanx11.fcitx506.mo
fcitx-2.1.0
zhcon-0.2.3
sunglobe.ttf
libxft-2.1.6
glibc-2.3.5-zh_CN
kde-i18n-3.4.1_zh_CN
koffice-i18n-1.4.0_zh_CN
02_fanx11.skim506.mo
skim-1.4.
scim-1.4.
scim-pinyin-0.5
scim-ccinput-0.3.0
scim-fcitx-3.1.1
scim-tables-zh_CN
zhcon-0.2.3
sunglobe.ttf
libxft-2.1.6
glibc-2.3.5-zh_CN
kde-i18n-3.4.1-zh_CN
koffice-i18n-1.4.0-zh_CN
03_fanx11_apps.mo
slackins-3.0
eva-0.3.0
kiso-0.82
ktorrent-1.0
opera-8.01
beep-media-player-0.9.7
kftpgrabber-0.6
ark
PoseidonPPP-3.1.0
kgrub-0.3
grub-0.95
squid-2.5
squidGuard-1.2.0
unrar-3.50b
k3b-ape-1.0
中文模块是这样做的……
1.首先当然是收集要用到的软件包了,想要添加的东西统统准备好了。
2.启动进入SLAX
3.用 –root 参数安装所有的tgz包。
installpkg -root /tmp/zh_CN /tmp/allpacks/*.tgz //将软件包装到/tmp/zh_CN下
可能有读者会有realplay等以.bin结尾的包怎么安装的疑问,不要紧,我们只需要将它安装后的文件夹整个复制过来就可以了,放哪儿都行,但是使用时你要能找到它。也可以为它单独制作一个模块。
注意:realplay是bin二进制包,应该用下面的方法安装:
chmod a+x realplay*.bin./ realplay*.bin
回答几个问题就安装完毕了。
除此之外还需要一些用途不太大包,我们将要提取它的中文mo文件,以便让相关软件菜单有中文支持,这样的软件包有kplayer和k3b。
4.安装字体:将准备好的字体复制到/tmp/zh_CN/usr/X11R6/lib/X11/fonts/TTF下,目录中没有的文件夹手动创建。
5.在TTF的目录下运行mkfontdir生成fonts.dir文件,然后将/usr/X11R6/lib/X11/fonts/TTF中的fonts.dir文件中的内容复制到这个文件的后面,保存并复制一份为fonts.scale保存在TTF目录下。
提示,可以使用simsun和其它ttf字体,具体做法是一样的。
6.清空 /etc/profile.d/lang.sh文件的所有内容,更改为
#!bash/shexport LANG="zh_CN"export LC_CTYPE="zh_CN.gbk" //我个人认为有gbk足够用了# End of /etc/profile.d/lang.sh
将该文件复制到/tmp/zh_CN/etc/profile.d下
7.修改/root/.kde/share/config/kdeglobals,找到[locale]的行,修改为
[locale]Country=cnLanguage=zh_CN
整个文件是指定kde默认语言的,我们指定简体中文。将此文件保存并复制到/tmp/zh_CN/root/.kde/share/config下。
提示:名字以句点打头的文件和文件夹都属于配置文件和文件夹,默认情况下是隐藏的,要想进行编辑,需要先在“查看”菜单中选择“显示隐藏文件”项。
8.解压k3b和kplayer软件包,分别复制opt/kde/share/locale/zh_CN/LC_MEDDAGES下的 k3b.mo和kplayer.mo到/tmp/zh_CN/opt/kde/share/locale/zh_CN/LC_MEDDAGES下,这样将使得kplayer和k3b的菜单有中文的支持。
9.配置系统,精简不需要的东西。glibc和glibc-i18n安装后有近150M的东西,有许多国家的locale(本地语言文件)我们只留简体中文zh_CN的就可以了,删掉之后体积减小程度非常可观,具体文件在/tmp/zh_CN/usr/lib/locale和 /tmp/zh_CN/usr/share/locale下。假如你已经将kde桌面修改为自己习惯的配置了,那也一并将它的配置文件也保留下来吧,复制 /root/.kde下的内容复制到/tmp/zh_CN/root/.kde下,总之,想要对系统做的任何修改都要在这一步完成。
10.为了以后方便使用,最好将做好更改后的所有东西制作成一个软件包,是makepkg显身手的时候了:在/tmp/zh_CN/下运行makepkg zh_CN.tgz 命令,提示问题都答yes,按y键,把制作好的zh_CN.tgz包保存到某个地方供以后备用。
11.修改完毕,可以制作模块了。运行 dir2mo /tmp/zh_CN /tmp/zh_CN.mo就可以了,也可以用刚做好的tgz包制作模块:
tgz2mo zh_CN.tgz zh_CN.mo
提示:读者可以按照以上的步骤来为SLAX制作其它的模块,制作好的模块最好是经过测试,确保能正常运行。这是一个最复杂模块的建立,有了这个基础其它模块的制作应该不在话下了。
12.最后就是将做好的mo模块植入iso文件中然后刻录成光盘使用了。方法很多,一种方法就是用editiso命令,这个命令会将模块植入iso文件中的optional文件夹下,也只能在光盘启动出现boot:时手动启用。命令的基本用法为:
editiso 原iso文家路径