在实现 为我的486装一个可用的linux with X Windows的目标的过程中,我也试过 Damn Small Linux(以下简称DSL),用大概一周时间作了一个初步的安装试用。下面我把自己安装和使用DSL的心得记下来,我用的DSL版本是3.4.4,它的内核版本是2.4.26。好记性不如烂键盘,供备忘和有需要的朋友参考。
如果你在Google中搜索“最小的linux”、“486 linux”之类的关键词,多半会发现这个著名的迷你型linux发行版(如果可以称之为发行版的话)。确实,DSL很小,可以装在U盘和刻在那种小尺寸的光盘上运行,只有50M大小。也可以装在硬盘里,装在硬盘里也不过100M左右。而且,真的对机器要求非常低,记得网上好像有人在386上成功运行它。而我在486DX100+24M内存的机器上运行它,用dillo上网的速度还不错。它这么小,只有字符界面吧?错,它有一个完整的桌面系统,使用fluxbox和xdesktop(好像是叫这个吧)。有一套完整的在X Windows下运行的程序:办公、娱乐、上网、图片处理等等,一个也不少,完全可以胜任一般的日常应用!
那么,DSL就非常完美了吗?非也,一个最大的问题是:DSL国际化支持几乎为零(好像也正式支持了德语什么的),一般的非英语用户想升级它为自己语言的环境也非常难。事实上,除了它自带的几种扩展包,你要想对系统用apt命令对它作大的改动是比较困难的。比如语言支持。我曾按照网上一篇老文章 DSL + xfont-intl-chinese + FCITX 定制成功!(已加入文泉驿字体)在我安装到硬盘上的DSL-3.4.4添加它的中文支持,可是当用“apt-get -o APT::ForceLoopBreak=yes install locales ”终于把locales安装到Damn Small Linux 3.4.4上了,我却不能为它安装中文字体了(或者是其它什么步骤,因为没有及时记录,忘了)。于是就停止了。最后,把同台机器另一个操作系统里的gpm、zhcon有关的文件拷贝到系统里添加控制台的中文支持。我想如果把w3m相关文件拷到系统里,作一些修改(像我把redhat linux 9.0的这些文件移植到slackware linux 10.2一样,后面的日记也许会记录这个过程),应该可以在控制台里完成大部份中文打字和上网操作的。至于X Windows的汉化,我尝试了一下,没有成功就算了。上面汉化成功DSL的版本是1.2.1。关于DSL作者对DSL语言支持和升级支持的“官方”说法,可以参考这两篇文章: Language Support – DSL Wiki和 Enabling Apt – DSL Wiki。以我的理解,从中得出下列信息:
DSL由于极度裁剪,使得扩展非常困难;使用apt命令升级单独的包,但除非是专家,不要对主要系统进行升级;由于DSL不是从Debian单一继承而来,使用apt命令安装了“错误”的程序也许会对系统造成破坏。
因为我不是专家,所以放弃了DSL的全面汉化。如果有谁知道哪儿有汉化成功新版本DSL的信息,请提示一下。谢谢。
(后注:在 DSL支持中文显示看到有人在U盘基本成功的汉化了DSL-3.3,我在硬盘上安装的DSL-3.4.4却没有成功,不知哪步弄错了,或者上文 DSL + xfont-intl-chinese + FCITX 定制成功!(已加入文泉驿字体)的方法不适合硬盘安装?)
DSL的安装比较容易,可以参考一下我的网摘: 安装Damn Small Linux相关问题、linux网站收藏及mlterm配置(links for 2007-10-21)。我的安装经历如下,由于没有及时记录,具体细节忘了:
先刻录成750M的那种普通光盘,启动失败,可能是刻录时的问题;
然后,把DSL安装到U盘上,我用的方法好像是 Installing to a USB Flash Drive – DSL Wiki的这个方法:Convert .iso to USB installation,即直接把下载下来的.iso镜像文件转换到U盘里。其间还参考了文中提到的另一篇制作U盘版的linux的文章: Scientific Linux Live CD and DVD – Diskless Client – SL/RHEL。
由于我的另一台机器也比较老(赛扬1G),不能支持从U盘直接启动,于是,按照 Boot Floppies – DSL Wiki的方法,用bootfloppy-usb.img文件做了一个从USB启动的软盘引导盘,用这个软盘引导U盘启动就OK了。同样,如果你的系统不能从光盘直接启动,也可以制作相应的引导软盘来从光盘启动。我把制作的U盘版DSL在其它支持从U盘直接启动的机器上试了一下没有问题。
把DSL安装到硬盘上,可以参考这篇文章: Installing to the Hard Disk – DSL Wiki,我的大概步骤是:
1)、事先用fdisk为DSL准备了一个64M的swap(/swap)分区和一个236M的根(/)分区(上面DSL Wiki上说至少要128M的swap空间,可我发现自己的486DX100+24M内存的机器从来没有使用过超过64M的swap分区,就只分了64M给swap分区) ;
2)、启动在U盘里的DSL;
3)、使用swap分区:
mkswap /dev/hda1
swapon /dev/hda1
4)、执行硬盘安装命令
dsl-hdinstall
以上操作需要root权限,在默认就有的dsl用户下sudo就可以了。系统菜单里也有安装到硬盘的选项,我没试过。还有,安装到硬盘的步骤是把486上的硬盘拆下来装在另一台机器上进行的。
另外,我估计由于DSL是便携型Linux的原因,它的保存系统个人设置的方式有点特别,详情参见: Saving Your Settings和 Saving your configuration。我只是在保存网络设置时用到了这方面的知识,还参考了这篇帖子: iB::Topic::Not-DHCP booting。大概就是在opt/bootlocal.sh添加你自己的启动脚本,如:不能自动识别的网卡的modprobe,网卡设置(用系统菜单中的网卡设置程序也是在/opt目录下的eth0.sh和bootlocal.sh之类的文件中操作的),iptables加载等等。我可能会在后续的有关linux网络设置的日记中详细介绍。
所以,总的说来,我感觉DSL可以用于其它系统的维护(但我用U盘里的DSL启动SATA硬盘的系统,不能识别SATA硬盘,可能启动时需要输入额外的参数,没有进一步证实),在控制台下作一下处理(把其它系统用的gpm, zhcon, w3m相关文件移植到系统中,或者用其它什么的方式安装)也可以作中文的应用(我基本上就是在控制台下用这台486电脑的,比如,我博客上的许多日记都是在这台486上的linux的控制台中文环境下写的)。
当然,我对DSL只是大概一周时间的浅尝则止,以上文字出现错误也很有可能,希望见者知者能提示一二,我会随时修正补充。谢谢。