Slitaz 中文定制手册
源: http://www.simplemind.info/technolife/opensource/slitaz-cn.html
有关 Slitaz 的一些网站
- slitaz的网站:http://www.slitaz.org
- slitaz的google doc文档(貌似挂了):google doc
- slitaz的国内源镜像:http://mirror.lupaworld.com/
- 一位 slitaz fans 的博客:http://hi.baidu.com/slitazcn
Slitaz系统又是一个基于Linux内核的tiny system。它有自己的一套包管理系统,可以很方便地安装软件。并且开放了很大的自由度来自己定制。最主要的是,它的ISO文件只有30M,系统运行于 内存中,可以不用硬盘。太适合系统救急,或者构造一个临时的上网环境。
系统的启动运行可以按照官方网站上的说法去做。 最近搞的是定制slitaz系统–将ISO里面的内容增增减减,再弄回一个bootable ISO。 详细的过程见下:
准备和组织
为了更好的文件管理,我们最好是在一个固定的工作目录下进行下面的操作。
这个目录最好是在 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
# mkdir /tmp/loop
# mount -o loop slitaz-cooking.iso /tmp/loop
# mkdir hacked/rootcd
# cp -a /tmp/loop/* hacked/rootcd/
# umount /tmp/loop
# rmdir /tmp/loop
现在所有必要的文件已经放在 /home/slitaz/hacked/rootcd 中了,可以通过以下命令来确认 rootcd 中的文件列表:
#+end_src * 更改 isolinux 设置文件 我们先确保进入 /home/slitaz/hacked/rootcd/boot/isolinux 文件目录中:
#+begin_src sh
# cd /home/slitaz/hacked/rootcd/boot/isolinux
在该目录下,我们通过修改 isolinux.cfg 文件就可以为 isolinux 修改启动参数以及启动界面。
isolinux 的启动参数介绍被存在了 enopts.txt 文件中,是一个简单的参数介绍文件。可以根据需要添加或者删除。
下面介绍两个需要设置的参数:
lang=* 语言设置,中文可以预先设置为zhCN.UTF-8。
kmap=* 键盘设置,一般设置为 kmap=us。
common.cfg 文件中,其中
- prompt 1 启动时候等待参数,设置为 0 表示启动不等待参数,直接进入。
- timeout 80 是等待时间,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
# mkdir rootfs
# cp rootcd/boot/rootfs.gz rootfs
# cd rootfs/
现在已经复制了 rootfs.gz 现在我们要解压它,使用 lzma 解压, cpio 解包,用 | 把上述命令串起来。最后删除原 rootfs.gz 文件:
# lzma -dc -S .gz rootfs.gz | cpio -i
# rm rootfs.gz
至此我们已经将 slitaz 文件系统拿到,可以进行更改了。
安装软件包
现在我们需要以 rootfs/ 作为根目录,以 rootfs/bin/sh 作为 SHELL 登录,进入 chroot 模式:
# cd /home/slitaz/hacked
# chroot rootfs /bin/sh --login
好了,现在我们已经进入以 rootfs/ 为根目录的 slitaz 的文件系统中了。我们可以方便的用到 Slitaz 中的包管理工具 tazpkg 。
安装或者移除软件包:
# tazpkg install {pkgname}
# tazpkg remove {pkgname}
如果需要从 mirror 下载,可以手动开启网卡:
# udhcpc -i eth0
更多的 tazpkg 用法可以参照 http://www.slitaz.org/en/doc/manuals/tazpkg.en.html 的介绍。
设置中文及输入法
首先我们需要有中文的字库,目前官方的中文支持的并不好,所以我们使用第三方的中文 locale 包,这个包可以去 http://slitaz-cn.googlecode.com/files/locale-zhCN.UTF-8-1.0-beta.tazpkg 下载。
之后的安装方法与安装软件包没有任何区别,安装好之后可以用 tazlocale 设置所需的 locale。之后注销再登录就可以了。(后发现将官方 locale-zhCN-0.1beta.tazpkg 一同安装会有更好的中文支持)
或者选择更改 /etc/locale.conf 文件,将 $LANG $LCALL 两个环境变量设为 zhCN.UTF-8 即可。
通过在 /etc/init.d/local.sh 中加入
echo "LANG=zhCN.UTF-8" > /etc/locale.conf
echo "LCALL=zhCN.UTF-8" >> /etc/locale.conf
我 们选则的方式是在开机 isolinux 引导的时候,加入启动参数 lang=zhCN.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"@ 并在之下,添加:
export LCCTYPE="zhCN.UTF-8"
export XMODIFIERS="@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 的安装。而插件的安装,和 Flash Player 类似,一样的 xpi 压缩文件,放一样的地方。
FlashPlayer 的安装
Flash 下载好之后,解压出来。
然后把 libflashplayer.so 复制到 /usr/lib/firefox-'version'/plugins 中就可以了。
Flashblock 的安装
而 Flashblock 的安装稍微复杂些。
在解压出 flashblock.xpi 文件后(这个 xpi 就是 zip,可以用 unzip 来解压),里面有一个文件是 install.rdf 。找到 install.rdf 文件中最上面的类似这样的一行:
<em:id>{3d7eb24f-2740-49df-8937-200b1cc08f8a}</em:id>
把 中间部分(连着大括号)当作 Flashblock 的文件夹名字。然后把文件夹 {3d7eb24f-2740-49df-8937-200b1cc08f8a} 移动到 usr/lib/firefox-'version'/extensions 中,安装就完成了。
主页更改
在 /home/slitaz/rootfs/etc/firefox/browserconfig.properties 文件中,更改为:
browser.startup.homepage=homepage
browser.startup.homepagereset=homepage
中文化:
去 Firefox 官方网站下载相对应版本的 zhCN.xpi 文件。安装方法同 flashblock 插件。
文件夹可以取名 langpack-zh-CN@firefox.mozilla.org 。
修改 rootfs/etc/firefox/pref/firefox-l10n.js 文件。将其中一行改为:
pref("general.useragent.locale", "zh-CN");
保存即可。
重新压缩根目录
至此,我们已经将定制的内容修改完成了,我们就要重新压缩镜像了。使用 find 来查找文件, cpio 来打包, lzma 来压缩,用 | 把上述命令串起来。这个命令要在根目录 rootfs/ 中运行,然后在上级目录创建 rootfs.gz 文件:
# find . -print | cpio -o -H newc | lzma -z -S .gz > ../rootfs.gz
现在我们已经得到了定制好的文件目录,将它复制到 rootcd/boot/ 下并覆盖原有的 rootfs.gz 文件:
# cd ../
# cp -a rootfs.gz rootcd/boot
创建可启动 ISO 镜像
这些命令和选项会使用 genisoimage 程序和一些选项来创建一个使用 isolinux 的可启动 ISO 镜像。ISO 的文件名已经在开始的时候声明了:
# cd /home/slitaz/hacked
# genisoimage -R -o slitaz-hacked.iso -b boot/isolinux/isolinux.bin
-c boot/isolinux/boot.cat -no-emul-boot -boot-load-size 4
-V "SliTaz-Hacked" -input-charset iso8859-1 -boot-info-table rootcd/
如果要检查 ISO 是否创建正确,挂载它然后再列目录就行了。或者你可以用 burnbox 刻录它。
至此,已经完成了 Slitaz 的定制。最后提一点用现有的 Slitaz 系统解包和打回 ISO 的方法,可供参考。
用 tazlito 构建 livecd
其实可以利用已有的 slitaz 系统方便的进行提取 rootfs/ 及打包新的 ISO 文件。方法非常简单:
第一步:解压已有的 slitaz光盘到/home/slitaz
# tazlito extract-distro slitaz.iso
第二步:修改文件
就是修改 /home/slitaz/distro/rootfs 下的文件 要用 tazpkg 增减包的话:
# chroot /home/slitaz/distro/rootfs # 改变根目录
# udhcpc -i eth0 # 启用网卡
之后就可以用 tazpkg 命令增减包。
第三步:退出chroot 然后umount虚拟光盘
# exit
第四步:改完后重新打包iso文件,注意在/home/slitaz/distro目录运行。
# tazlito gen-initiso
就在 /home/slitaz/distro 下生成了新的 ISO。默认名为:slitaz-xxx.iso
Slitaz 中文定制手册的更多相关文章
- CentOS7 安装中文帮助手册
1.首先确定系统安装中文字体否 locale 2.rpm安装中文帮助手册 挂在光盘 将man-pages-zh-CN-1.5.2-4.el7.noarch.rpm拷贝到本机 rpm -ivh man- ...
- glusterFS系统中文管理手册(转载)
GlusterFS系统中文管理手册 1文档说明 该文档主要内容出自 www.gluster.org 官方提供的英文系统管理手册<Gluster File System 3.3.0 A ...
- Highcharts中文参考手册
Highcharts 是一个用纯JavaScript编写的一个图表库, 能够很简单便捷的在web网站或是web应用程序添加有交互性的图表,并且免费提供给个人学习.个人网站和非商业用途使用.HighCh ...
- Semantic UI 中文参考手册
一个拥有友好词汇表的前端框架,完全语义化的前端界面开发框架,为一组开发人员之间共享UI元素配备了规格.使用的词汇(类和ID)相比其它替代品更加简洁,从而降低了学习曲线.有许多HTML元素,UI元素和场 ...
- Yahoo Pure 中文参考手册
Pure 是来自雅虎的 CSS 框架,使用 Normalize.CSS 无需任何 JavaScript 代码.框架基于响应式设计,提供多种样式的组件,包括表格.表单.按钮.表.导航等.标识使用非常简单 ...
- Bootstrap中文参考手册
Bootstrap是推出的一个开源的用于前端开发的工具包.它由Twitter的设计师Mark Otto和Jacob Thornton合作开发,是一个CSS/HTML框架.Bootstrap提供了优雅的 ...
- Lua 5.2 中文参考手册
闲来无事,发现Lua更新到了5.2.2,参考手册也更到了5.2,在网上发现只有云风翻译的5.1版,花了几天时间翻译了一些. 参考手册有点长,又要随时修改,所以在github上建了项目,有需要的朋友可以 ...
- jpgraph中文使用手册之文本和字体控制教程
摘要:在之前的php jpgraph安装配置教程中已介绍过jpgraph字体的安装与配置方法,jpgraph类库中字体和文本的使用是非常重要的,jpgraph既可以控 制文本的旋转.对齐方式.字体大小 ...
- phpExcel中文帮助手册
phpExcel中文帮助手册 Admin 2011年11月13日 名人名言:上人生的旅途吧.前途很远,也很暗.然而不要怕.不怕的人的面前才有路.——有岛武郎 下面是总结的几个应用办法 include ...
随机推荐
- 该对象尚未初始化。请确保在所有其他初始化代码后面的应用程序启动代码中调用 HttpConfiguration.EnsureInitialized()。
WebAPI使用属性路由,配置config.MapHttpAttributeRoutes();后出现错误: System.InvalidOperationException: 该对象尚未初始化.请确保 ...
- 【Gitlab】从Gitlab拉取项目+往Gitlab发布项目 【GitLab自定义端口】
1>GIt需要提前安装在本地,本机,自己的电脑,开发环境电脑,IDEA所在的电脑 2>代码仓库:gitlab 3>开发工具:IDEA 4>内网搭建gitlab,访问url: h ...
- 走进DOM:HTML DOM
DOM(Document Object Model)即文档对象模型.针对HTML和XML 文档的API(应用程序接口). DOM描绘了一个层次化的节点树,执行开发者加入.移除和改动页面的某一部分.当然 ...
- struct net_device网络设备结构体详解
转自:http://blog.csdn.net/viewsky11/article/details/53046787 在linux中使用struct net_device结构体来描述每一个网络设备.同 ...
- jQuery Ajax方式上传文件实现暂停或取消上传
未上传时要实现取消,很简单... 但如果用户点击了上传,并加载了进度信息... 2017-05-04再次改进.在上传过程中用户可以按 Esc 来取消上传(取消当前上传,或者是全部上传)... 也可以在 ...
- linux下生成https的crt和key证书
今天在配置kibana权限设置时,kibana要求使用https链接. 于是总结了一下linux下openssl生成 签名的步骤: x509证书一般会用到三类文,key,csr,crt Key 是 ...
- 通过AnimationSet设置动画
在代码中可以通过set来设置多个动画属性,这里分开来设置不同的属性. 首先先贴上布局文件,里面的imageview是用来做动画的控件 <RelativeLayout xmlns:android= ...
- 单因素方差分析(One Way ANOVA)
Analysis of variance (ANOVA) is a collection of statistical models and their associated estimation p ...
- Apache Jmeter 教程
Jmeter是一款优秀的开源测试工具, 是每个资深测试工程师,必须掌握的测试工具,熟练使用Jmeter能大大提高工作效率. 熟练使用Jmeter后, 能用Jmeter搞定的事情,你就不会使用LoadR ...
- Invalid Host header 的解决方案
composer 显示:Invalid Host header的解决方案 I have tried this workaround: Edit the following line in node_m ...