Slitaz定制.docx
《Slitaz定制.docx》由会员分享,可在线阅读,更多相关《Slitaz定制.docx(16页珍藏版)》请在冰豆网上搜索。
![Slitaz定制.docx](https://file1.bdocx.com/fileroot1/2023-1/31/9fde95fe-c5ae-4292-8cea-ee35632d0a7f/9fde95fe-c5ae-4292-8cea-ee35632d0a7f1.gif)
Slitaz定制
Slitaz定制
什么是Slitaz
Slitaz是一个免费小巧的GNU/Linux发行版。
它可以从光盘或USB设备加载,完整地在内存中运行,也可以安装到硬盘中。
Slitaz以LiveCD的形式发布,你可以把它刻录到光盘,并从光盘启动。
系统运行时,你可以弹出CD,用CD-ROM来进行其他工作。
LiveCD提供一个特色十足的、图形界面的发行版,可以保存你的数据和个人设置到其他设备中。
这个系统可以通过Tazpkg软件包管理器添加软件来增加各种各样的功能,也可以用它升级系统来保持系统最安全、最新。
Slitaz会通过邮件列表和论坛为用户提供免费的技术支持。
你也可以联系我们以获得更多的支持,也可以向我们提出建议。
你可以使用邮件列表或者直接发送邮件来联系:
devel@slitaz.org
特点介绍
*ISO镜像不超过30MB,根文件系统不超过100MB;
*可以使用LightTPD或者Apache来做Web服务器,并且可以支持CGI和PHP;
*通过Midori来浏览网络;
*支持声音,拥有音频播放器和CD提取工具;
*可以通过IRC聊天,通过各种方式发送邮件,拥有FTP客户端;
*拥有通过Dropbear提供的SSH客户端/服务器;
*拥有通过SQLite提供的数据库引擎;
*可以创建LiveUSB设备;
*拥有创建、编辑、刻录光盘镜像的工具;
*可以使用各种各样的桌面系统和XServer;
*拥有一些原创的图形界面小工具来代替枯燥无味的命令行;
*拥有成百上千的软件包,可以通过小工具轻易从软件源安装;
*拥有活跃的社区和友好的开发者。
网站和国际化支持
Slitaz是一个国际化的操作系统,可以轻易拥有多语言支持。
Slitaz的网站同样也拥有各种各样的语言。
Slitaz完全支持中文,通过开发者制作的中文语言包、中文字体、中文输入法,你可以快速上手。
你也可以查看Slitaz官方文档来学习如何使用SlitazLiveCD和设置系统。
我非常喜欢这个小东西,这两天捣鼓了一下,自己定制了一个中文版,介绍给大家,希望您喜欢:
1、中文定制版ISO镜像文件35.8M下载:
标准ISO镜像
另外,为了大家方便安装到U盘启动来使用,我特别制作了这个U盘安装器:
2、Slitaz专用U盘移动系统安装器SlitazUSB.zip(828.12KB,下载次数:
3752)
本人作品之一。
教程摘录:
保存系统设置
当你在USB设备里使用完毕准备关机时,记得先保存你的设置,生成一个新的根目录。
Slitaz默认不会这样做的,如果你鲁莽关机,那么你在所有在非个人文件夹的新文件就统统还原了,和没用过一样。
你有三种选择:
第一种是保存成lzma,第二种是保存成gzip,第三种是不压缩。
第一种和第二种会把当前根目录压缩,然后打包,花费的时间可能会很长。
可以使用下列命令来保存成lzma或gzip:
#tazusbwritefslzma
#tazusbwritefsgzip
第三种会不经过压缩直接打包根目录,一般几秒就可以完成,不过制作出来的rootfs.gz文件会很大。
可以使用下列命令来不压缩保存:
#tazusbwritefsnone
这些命令会把根目录保存到LiveUSB设备/boot/root.gz中。
如果找不到指定目录,就会把rootfs.gz保存在根目录下,你可以自己移动文件。
正确保存在指定目录后原来的rootfs.gz不会被删除,而是改了个名字。
如果新的rootfs.gz出了什么问题,你可以在启动显示boot:
时输入previous来回滚到原来的系统。
保存系统设置实例
当使用U盘SliTaz启动后,/home目录为眼虚目录,使用tazusb压缩目录时,会将/home目录丢失,解决办法:
1、logouttux用户,以root登录
2、执行如下命令:
#mv/home/etc
#ln-s/etc/home/home
#tazusbwritefslzma(或者gzip)
3、将新生成的/rootfs.gz文件,复制到U盘的boot目录中,替换原文件即可。
详细介绍
本文将指导如何使用已有的Slitaz的ISO,定制特定需要的ISO。
例如添加中文支持、增加中文输入法、修改Firefox主页、添加Firefox插件等。
准备和组织
为了更好的文件管理,我们最好是在一个固定的工作目录下进行下面的操作。
这个目录最好是在/home或者/home/slitaz下。
/home/slitaz目录可以让你保存原始的ISO镜像和创建src/目录来下载需要的软件包。
每个步骤可以在终端或者命令行中完成。
最好是以root权限执行命令来避免权限问题:
su
mkdir-p/home/slitaz/hacked
mkdir-p/home/slitaz/src
得到ISO镜像的内容
我们事先将下载好的slitaz的ISO,复制到/home/slitaz/下。
这里我们选用的是slitaz-cooking.iso。
如果选用的ISO文件不同,请替换相关的文件名。
提取ISO镜像的内容:
cd/home/slitaz
#挂载ISO镜像
mkdir/tmp/loop
mount-oloopslitaz-cooking.iso/tmp/loop
mkdirhacked/rootcd
cp-a/tmp/loop/*hacked/rootcd/
umount/tmp/loop
rmdir/tmp/loop
现在所有必要的文件已经放在/home/slitaz/hacked/rootcd中了,可以通过以下命令来确认rootcd中的文件列表:
ls/home/slitaz/hacked/rootcd
更改isolinux设置文件
我们先确保进入/home/slitaz/hacked/rootcd/boot/isolinux文件目录中:
cd/home/slitaz/hacked/rootcd/boot/isolinux
在该目录下,我们通过修改isolinux.cfg文件就可以为isolinux修改启动参数以及启动界面。
isolinux的启动参数介绍被保存enopts.txt文件中,是一个简单的参数介绍文件。
可以根据需要添加或者删除。
下面介绍两个需要设置的参数:
lang=*语言设置,中文可以预先设置为zh_CN.UTF-8。
kmap=*键盘设置,一般设置为kmap=us。
common.cfg文件中
prompt1启动时候等待参数,设置为0表示启动不等待参数,直接进入。
timeout80是等待时间,80代表等待8秒。
我们观察到isolinux.cfg中提及了isolinux.msg和common.cfg。
我们可以通过修改isolinux.msg的内容以达到改变欢迎文字。
splash.lss是启动时候的图片。
common.cfg中存储了一些功能键的映射文件,例如启动时按F5键,能够显示enhelp.txt的内容。
通过修改相关的txt文件,就可以达到修改帮助文件的目的。
经过现在的测试,目前txt文件能够支持iso8859系列和部分codepage,不支持中文。
更改文件系统
更改文件系统可以让你进行增加用户、修改密码、在启动时执行命令之类的一些列动作。
要更改根文件系统,你必须要解压rootfs.gz,更改、重建镜像,然后创建ISO。
在上文我们已经建立了工作目录,现在我们要建立一个包含已更改文件系统的文件夹。
鉴于压缩的文件系统叫做rootfs.gz,我们建议你解压到rootfs/。
访问hacked/目录,创建rootfs/文件夹然后从rootcd/boot/目录复制压缩的文件系统:
cd/home/slitaz/hacked
mkdirrootfs
cprootcd/boot/rootfs.gzrootfs
cdrootfs/
现在已经复制了rootfs.gz现在我们要解压它,使用lzma解压,cpio解包,用|把上述命令串起来。
最后删除原rootfs.gz文件:
lzma-dc-S.gzrootfs.gz|cpio-i
rmrootfs.gz
至此我们已经将slitaz文件系统拿到,可以进行更改了。
修改配置或安装软件包
若要修改配置,此时可以直接到rootfs下进行修改。
若要安装软件包,需要以rootfs/作为根目录,以rootfs/bin/sh作为SHELL登录,进入chroot模式:
cd/home/slitaz/hacked
chrootrootfs/bin/sh--login
好了,现在我们已经进入以rootfs/为根目录的slitaz的文件系统中了。
我们可以方便的用到Slitaz中的包管理工具tazpkg。
安装或者移除软件包:
tazpkginstall{pkgname}
tazpkgremove{pkgname}
如果需要从mirror下载,可以手动开启网卡:
udhcpc-ieth0
更多的tazpkg用法可以参照http:
//www.slitaz.org/en/doc/manuals/tazpkg.en.html的介绍。
设置中文及输入法
首先我们需要有中文的字库,目前官方的中文支持的并不好,所以我们使用第三方的中文locale包,这个包可以去http:
//slitaz-下载。
之后的安装方法与安装软件包没有任何区别,安装好之后可以用tazlocale设置所需的locale。
之后注销再登录就可以了。
(后发现将官方locale-zh_CN-0.1beta.tazpkg一同安装会有更好的中文支持)
或者选择更改/etc/locale.conf文件,将$LANG$LC_ALL两个环境变量设为zh_CN.UTF-8即可。
通过在/etc/init.d/local.sh中加入
echo"LANG=zh_CN.UTF-8">/etc/locale.conf
echo"LC_ALL=zh_CN.UTF-8">>/etc/locale.conf
我们选则的方式是在开机isolinux引导的时候,加入启动参数lang=zh_CN.UTF-8。
因为我们发现在rootfs/etc/rcS.conf中调用到rootfs/etc/init.d/bootopts.sh脚本,该脚本中有抓取启动参数lang的部分,将参数lang的内容重定向至rootfs/etc/locale.conf文件中,这样我们可以方便的通过启动参数改变Slitaz的语言方式。
输入法的安装和软件包的安装相同,这里我们选用的是fcitx-pinyin-3.6.2.tazpkg。
需要注意的是,安装之后需要修改tazx才能保证X启动时正常运行。
修改rootfs/usr/bin/tazx文件。
在其中查找cat>$FILE<<"EOF"并在之下,添加:
exportLC_CTYPE="zh_CN.UTF-8"
exportXMODIFIERS="@im=fcitx"
fcitx&
保存即可。
由于fcitx输入法设置是保存在配置文件中,如若修改fcitx的字体大小、候选词数等参数,修改rootfs/usr/share/fcitx/data/config文件即可
用户主目录文件内容
Slitaz除root用户外,会自动创建tux用户作为一般用户。
tux用户的默认主目录文件保存在/etc/skel下。
此目录下的所有文件会在创建用户时复制到该用户的主目录下。
Firefox相关修改
有关Firefox的文件夹可以由find/-name'firefox*'-print得到。
以下就着重说插件Flash和Flashblock的安装。
这些插件的安装,和FlashPlayer类似,一样的xpi压缩文件,放一样的地方。
FlashPlayer的安装:
Flash下载好之后,解压出来。
然后把libflashplayer.so复制到/usr/lib/firefox-'version'/plugins中就可以了。
Flashblock的安装:
Flashblock的安装稍微复杂些。
在解压出flashblock.xpi文件后(这个xpi就是zip,可以用unzip来解压),里面有一个文件是install.rdf。
找到install.rdf文件中最上面的类似这样的一行:
id>{3d7eb24f-2740-49df-8937-200b1cc08f8a}
id>
把中间部分(连着大括号)当作Flashblock的文件夹名字。
然后把文件夹{3d7eb24f-2740-49df-8937-200b1cc08f8a}移动到/usr/lib/firefox-'version'/extensions/中,安装就完成了。
主页更改:
在/home/slitaz/rootfs/etc/firefox/browserconfig.properties文件中,更改为:
browser.startup.homepage=
browser.startup.homepage_reset=
中文化:
去Firefox官方网站下载相对应版本的zh_CN.xpi文件。
安装方法同flashblock插件。
文件夹可以取名。
修改rootfs/etc/firefox/pref/firefox-l10n.js文件。
将其中一行改为:
pref("general.useragent.locale","zh-CN");
保存即可。
重新压缩根目录
至此,我们已经将定制的内容修改完成了,我们就要重新压缩镜像了。
使用find来查找文件,cpio来打包,lzma来压缩,用|把上述命令串起来。
这个命令要在根目录rootfs/中运行,然后在上级目录创建rootfs.gz文件:
cdrootfs/
find.-print|cpio-o-Hnewc|lzma-z-S.gz>../rootfs.gz
现在我们已经得到了定制好的文件目录,将它复制到rootcd/boot/下并覆盖原有的rootfs.gz文件:
cd../
cp-arootfs.gzrootcd/boot
创建可启动ISO镜像
这些命令和选项会使用genisoimage(与mkisofs是同一个程序)程序和一些选项来创建一个使用isolinux的可启动ISO镜像。
ISO的文件名已经在开始的时候声明了:
cd/home/slitaz/hacked
genisoimage-R-oslitaz-hacked.iso-bboot/isolinux/isolinux.bin\
-cboot/isolinux/boot.cat-no-emul-boot-boot-load-size4\
-V"SliTaz-Hacked"-input-charsetiso8859-1-boot-info-tablerootcd/
或
mkisofs-R-oslitaz-webadmin.iso-bboot/isolinux/isolinux.bin\
-cboot/isolinux/boot.cat-no-emul-boot-boot-load-size4\
-V"SliTaz-WebAdmin"-input-charsetiso8859-1-boot-info-tablerootcd/
如果要检查ISO是否创建正确,挂载它然后再列目录就行了。
或者你可以用burnbox刻录它。
至此,已经完成了Slitaz的定制。
最后提一点用现有的Slitaz系统解包和打回ISO的方法,可供参考。
用tazlito构建livecd
其实可以利用已有的slitaz系统方便的进行提取rootfs/及打包新的ISO文件。
方法非常简单:
第一步:
解压已有的slitaz光盘
tazlitoextract-distroslitaz.iso
第二步:
修改文件
就是修改/home/slitaz/distro/rootfs下的文件。
要用tazpkg增减包的话:
chroot/home/slitaz/distro/rootfs#改变根目录
udhcpc-ieth0#启用网卡
之后就可以用tazpkg命令增减包。
第三歩:
改完后重新打包iso文件。
tazlitogen-initiso
就在/home/slitaz/distro下生成了新的ISO。
默认名为:
slitaz-hacked.iso
将当前活动系统打包成iso文件
在实际测试过程中,可以随时安装软件,直到测试无误后,可执行tazlitowriteisolzma命令生成新的rootfs.gz并打包成光盘可启动的linux系统的iso
tazlitowriteisolzma
生成的根文件系统及ISO镜像在/home/slitaz/distro/下。
常见问题:
由于Slitaz工作时全部要载入内存运行,因此,要求内存至少要80M以上,为解决在使用过程中因内存不足,导致无法打包时,请重新启动加载交换分区。
Slitaz对硬盘与光盘的加载能力较弱。
所以建议在加载交换分区前,请用其它加载硬盘与光驱稳定的的Linux如salvare,先进行分区,并指定交换分区,然后进行格式化。
加载交换分区
当重新启动Slitaz时,出现boot:
提示符,输入home=hda5,回车,此时;Slitaz将使用hda5作为交换分区。
通过free命令,可以查看内存与交换分区的使用情况。
格式化工具使用mke2fs/dev/hda1,或mkeswap/dev/hda5
重制USBLIVE-SLITAZ
方法一:
用tazusbwritefslzma命令可以在当前系统中重制roofs.gz,但在cooking-cn-iso的系统中无法进入tux账户,只能进入root账户。
我是liveusb
∙回复
方法二:
重新阅读了tazusb命令,了解到其要一个home,而我的usb上有几个系统cdlinux,slitaz,slax等,此命令用来改制不太方便,
重读slitaz手册中的HackingSliTazLiveCD,自己重新加入了五笔输入后,也可用tux账户了,很方便、很简单,方法如下:
1.组织工作和准备:
$su
#mkdir-p/home/slitaz/hacked
(#mkdir-p/home/slitaz/src)
#cd/home/slitaz/hacked
2.用iso文件:
#mkdir/tmp/loop
#mount-oloopslitaz-cooking.iso/tmp/loop
#mkdirrootcd
#cp-a/tmp/loop/*rootcd
#umount/tmp/loop
3.建立工作目录:
#cd/home/slitaz/hacked
#mkdirrootfs
#cprootcd/boot/rootfs.gzrootfs
4.解压rootfs.gz:
#cdrootfs
#(zcatrootfs.gz2>/dev/null||lzmadrootfs.gz-so)|cpio-id
#rmrootfsrootfs.gz
5.将addwb2slitaz中的tables.conf和wbx.mb拷到rootfs目录中的usr/share/fcitx/data中
6.重制rootfs文件,在rootfs目录中运行:
#find.-print|cpio-o-Hnewc|lzmae-si-so>../rootfs.gz
7.将此rootfs.gz拷至usb上,改原rootfs.gz为previous.gz:
现在就是在此环境中回贴。
方法三:
先谈谈我的usb上运行slitaz的方法:
1.用linux系统格式化usb盘用ext2/3均可,并在上面安装grub,我的方法是用ubuntu.iso找到grub的stage1,stage2,stage1.5等文件拷到boot/grub/中,并在此目录中建立一个menu.lst,安装并设置grub。
然后将slitaz的iso解开,拷贝bzImage和rootfs.gz到盘上的slitaz目录中,编辑menu.lst如下:
titleSliTazcn(Cooking)
kernel/slitaz/bzImageroot=/dev/nullvga=771screen=1280x800x24modprobe=e1000
initrd/slitaz/rootfs.gz
其中的screen=1280x800x24,我的本本的宽屏设置,可以不要;modprobe=e1000是本本的网卡驱动,启动时加载,如果slitaz能自动识别并加载你的网卡,也可不在此设置;注意root=/dev/null这句的设置是grub中要注意的,如用root=/dev/ram等可能不能自动进入slim。
2.运行slitaz后,系统是全部进入ram运行的,此时可将U盘取出,如要使用则可能systemtools->mountdevice加载此盘,用前面提到的改制方法可,方便地更换rootfs.gz,比如改后的rootfs.gz改名为rootsfs_new.gz,则在menu.lst中增加:
titleSliTazcn(Cooking)new
kernel/slitaz/bzImageroot=/dev/nullvga=771screen=1280x800x24modprobe=e1000
initrd/slitaz/rootfs_new.gz
这样,可以新旧系统互换。
另一种ISO的解包与重构
我是用tazlitoextract-distro把iso解开到/home/slitaz/distro中,修改,然后用tazlitogen-initiso重新构建iso文件。
VGA与Screen区别
vga是启动过程的屏幕设置,而screen是slim进入x要用的设置,我的r61是宽屏1280x800,这样设置后进入x时未再提示设置要求了。
Slitaz包制作
Packages(包)
tazwokand