在486上初试Slackware Linux

在实现为我的486装一个可用的linux with X Windows的目标的过程中,我也试过Slackware Linux(以下简称slackware)。因为我在网上读到slackware对硬件的要求比较低,而且定制性比较好。初步试了一下,感觉确实是名符其实。我用的slackware的版本是10.2。为什么不用最新的12.0呢,后面我会说的。

在我的486DX100+24M的老机器上,slackware的启动时间是最短的,完成基本a系列软件的安装后,添加了控制台的中文环境zhcon + w3m,而且安上一个X和添加X的中文支持后,硬盘占用也不过400M左右。不过,如果你要用locale -a命令查看机器里所有的locale列表,你还需要安装glibc-2.3.5-i486-5.tgz。而原来安装Redhat linux 9.0,仅选择字符界面的基本系统安装就大概1G左右(我曾设法只安装必须的,不过好像redhat linux 9.0安装时的定制性不太高)。对于系统的定制需要和方便省事上来说,我感觉slackware在这个平衡上是做得比较好的。像Ubuntu linux和Redhat linux等,使用比较方便,但是定制性不好;LFS等从源码构建整个系统,我想定制性是一流的,可是复杂的操作步骤和漫长的编译时间让我望而生畏,况且我的机器老掉牙,可能编译时间更长。我也一直没有尝试这类系统。而slackware,我觉得达到了比较好的平衡。

安装slackware比较容易,我因为用不着完全安装,就没有刻成光盘,而是从网上下载单独的分组的软件包,再按照slackware网上的安装帮助制作bare.i的启动软盘,install.1,install.2的root软盘。从软盘引导安装了a系统基本系统和一些X Windows支持包和网络配置包。不过,我发现最新版的slackware-12.0没有上面提到的3个软盘映像文件,用slackware-11.0的3个软盘映像文件来安装slackware-12.0的系统会失败,安装glibc-solibs这个包时报告“FATAL: you need to be running a 2.6.x Kernel in order to upgrade to this version of glibc.”,别人也碰到类似的情况,见:LinuxPackages :: View topic - Slackware12-CD not bootable - problems to create bootdisk。于是,我就找了一个速度快的老版本Slackware-10.2的镜像:ftp://ftp.cs.cuhk.hk,而且这里好像只有10.*的版本,我下载了一些包,速度基本上上、下午都能稳定在130~150kb。我的是四川电信。

Slackware安装、维护软件包的命令也比较好记:installpkg安装,upgradepkg升级,removepkg卸载,makepkg制作软件包,explodepkg在当前目录解压软件包而不执行安装脚本。具体参数用“命令 --help”方式查看。

另外,安装时a系列里的kernel-ide的内核包应该是至少要安一个,我把kernel-ide-2.4.26-i486-4.tgz、kernel-ide-2.4.29-i486-4.tgz、kernel-ide-2.4.31-i486-4.tgz全安装上了。

安装了基本系统的slackware-10.2是没有网络配置工具的(如ifconfig, ping等命令),需要下载tcpip包,slackware-10.2里新点的版本是tcpip-0.17-i486-35.tgz。安装了它后,一些网络相关文件(如/etc/rc.d/rc.inet1,/etc/rc.d/rc.inet1.conf)才会出现。你才能用/sbin/netconfig命令配置网络。在我机器上,用netconfig命令完成的slackware-10.2的网络配置是保存在/etc/rc.d/rc.inet1.conf中的,然后/etc/rc.d/rc.inet1会调用这个文件完成网络配置。dns设置是保存在通用的/etc/resolv.conf文件中的。

在slackware-10.2上安装支持中文的X Windows,我安装的包有:x11-6.8.2-i486-3.tgz(X服务器),x11-fonts-misc-6.8.2-noarch-3.tgz(说是运行X最基本的字体),blackbox-0.70.0-i486-1.tgz(窗口管理器,blackbox-0.65.0-i386-1.tgz的中文支持好像有问题),glibc-i18n-2.3.5-noarch-5.tgz(locales,里面有各种locale),从Redhat linux 9.0下直接拷贝过来的中文字体(把目录/usr/share/fonts/zh_CN复制过来,里面有zysong.ttf)。中文输入法我没装。

Slackware-10.2的locale在/etc/profile.d/lang.sh中设置,我设置的是:

export LANG=zh_CN.gbk
export LC_ALL=zh_CN.gbk

还有一个比较有意思的是,我并没有在/etc/X11/xorg.conf中设置上述的中文字体路径,可slackware能自动找到,并在blackbox的窗口信息中正确的使用我在blackbox的style中(/usr/X11/share/blackbox/styles/下面的style文件中)设置的zysong字体:

*font: ZYSong18030-12
...
menu.title.font: ZYSong18030-12:style=Bold
...
window.font: ZYSong18030-12:style=Bold

。我看系统启动时启动了一个在/etc/rc.d/rc.M中定义的字体相关脚本:

# Update the X font indexes:
if [ -x /usr/X11R6/bin/fc-cache ]; then
echo "Updating X font indexes: /usr/X11R6/bin/fc-cache"
/usr/X11R6/bin/fc-cache
fi

也许是这个脚本的作用?需要时再继续学习。

在没安X之前,启动系统用top命令查看内存占用16M左右;也许是安X后,启动系统用top看内存占用达到了20M(并没有启动X)。也不知是那个服务的作用?

总的来说,感觉slackware不错。

2 thoughts on “在486上初试Slackware Linux”

  1. 关于上面提到的fc-cache命令的作用,在网上搜到如下资料。

    1、摘自:Ubuntu完全教程,让你成为Ubuntu高手

    XFT字体

    Xft字体相关选项在 /etc/fonts/fonts.conf 文件中配置

    可以使用 fc-cache 命令,递归扫瞄以下目录中的字体(包括子文件夹中的字体
    ),建立字体缓存

    /usr/share/X11/fonts
    /usr/share/fonts
    /usr/local/share/fonts
    ~/.fonts

    * /etc/fonts/fonts.conf 文件的 字段

    多数支持GTK2或者Qt图形库的X客户端能够使用Xft字体渲染技术

    * GTK2为Gnome使用的图形库,Qt为KDE使用的图形库。相对来说,GTK2图形
    库在程序的GUI设计中更加通用

    安装字体,只要将字体拷贝到以上任意目录, fc-cache -fv 刷新字体缓存即可
    (参数: -f 强制刷新; -v 显示过程)

    使用命令 fc-list 列出所有可用字体

    字体的选择及显示风格,可以修改GTK2或者Qt的配置文件,建议使用图形界面配

    * 一般情况下,桌面环境中附带了相关程序,例如 gnome-font-properties

    下面两篇文字对此也有比较详细的解释或用法:

    2、Debian 新手汉化跟我来 ---- 实战演练篇

    3、http://www.linuxsir.org/bbs/showthread.php?t=309496:fonts:/// 是什么路径

  2. 不过,上面既然说fc-cache的作用是缓存字体,那么它的字体缓存文件是哪个呢?缓存字体又有什么作用?大概是什么原理?存疑在此。

Comments are closed.