DeLi Linux 0.8 软件安装

这是DeLi Linux 系列日记的第4篇,上一篇是:DeLi Linux 0.8 设置;下一篇将是:DeLi Linux 0.8 中文环境配置

在这篇日记里,主要介绍怎么样在 DeLi Linux 0.8 上安装软件,包括Pacman 软件包管理器安装, ABS 源码安装, 把DeLi Linux 0.7.2上的软件移植到 DeLi Linux 0.8 上 和一般源码安装。

DeLi Linux 0.7.x 系列是采用一个叫作deliget 的程序从因特网上的软件仓库进行二进制包的安装和借用 crux 的ports系统进行源码安装。DeLi Linux 0.8 借用了 Arch Linux 的强大的pacman 包管理系统和ABS系统进行软件的安装。关于pacman 的用法请“man pacman”或参见:使用 Pacman,或者Arch Linux 的wiki上的pacman页;ABS系统的使用请参见 Arch Linux 的Wiki的ABS页面。不过,请注意,DeLi Linux 0.8并没有完全使用Arch Linux的ABS系统,下面我就只介绍一下怎样在DeLi Linux 0.8 用ABS风格的源码安装。

以重新编译安装 skipstone 浏览器为例(实际上在DeLi Linux 0.8的软件仓库里有这个软件,用pacman -S skipstone 就可以安装,而我刚开始时以为没有这个软件的二进制包,所以使用了一下DeLi Linux 0.8的makepkg 源码安装方法,其属于ArchLinux 的ABS系统)。

首先,在这里下载 ports20085029.tar.gz;
执行 “ su ”变成 root 用户;
使用命令“ tar xfvz ports20085029.tar.gz -C /usr”把“ports20085029.tar.gz”解压缩到一个目录里(例如:/usr/);
输入 “ export ABSROOT="/usr/ports" ”;
输入:
cd /usr/ports/xtra/skipstone
makepkg -bi

这将花一些时间下载,编译和安装 skipstone 和它的依赖包。

这里有个小技巧,因为DeLi Linux 0.8 现在使用的是 Archlinux 的软件包管理系统,所以,一些你需要而DeLi 没有提供的软件你可以在 Arch Linux 的网站搜索相关软件的 PKGBUILD 文件,作一些修改(如去掉“ arch=(i686 x86_64) ”),运用“ makepkg -c ”命令来制作DeLi Linux 0.8上要用的软件包。我就用这个方法成功的编译安装了DeLi Linux 下面的i810显卡驱动程序,参见:No i810 driver...why? littlebat的回复,简单说就是依次下载相关软件的PKGBUILD文件,用makepkg -c 命令编译,其中一些软件包的编译可能需要拷贝一些其它Linux发行版的文件(如:从Ubuntu 6.06上拷贝一些头文件*.h)才能通过。

DeLi Linux 0.7.x 使用的是GTK1,而 DeLi Linux 0.8 改成了使用 GTK2,这样,原先的一些有用的GTK1程序并没有包含在 DeLi Linux 0.8 中,如:Dillo、Firefox 浏览器,Xmms音乐播放器,Aop小游戏等等。为了节约重新从源码编译安装的步骤,我们可以把一些 DeLi Linux 0.7.2 中的程序移植到 DeLi Linux 0.8中。下面我就简单介绍一下我的方法,供有需要的朋友参考。

1)、下载gtk1的软件包:
http://www.delilinux.de/packages/deli/lib/glib1-1.2.10-i386-1.tgz
http://www.delilinux.de/packages/deli/lib/gtk1-1.2.10-i386-3.tgz

用root帐户解压到根目录下:
tar xfvz glib1*.tgz -C /
chmod +x /install/*.sh
cd /
/install/*.sh

用同样的方法移植 gkt1-1.2.10-i386-3.tgz 。

2)、下载和移植DeLi 0.7.2中你喜欢的gtk1程序,如: Dillo-i18n 网页浏览器:
http://www.delilinux.de/packages/deli/xap/dillo-i18n-0.8.6-i386-4.tgz

3)、移植 deli0.7.2 中的 firefox 1.5 的一些注意事项
我使用的是包含在deli0.7.2 BIG ISO 光盘镜像文件中的 firefox 1.5,文件名是 firefox-1.5.0.12-i386-1.tgz ,用上面的步骤移植完毕后,当你执行“firefox &”,程序会报如“missing libstdc++.so.5”之类的错误,我的解决方法是用命令建立一个到libstdc++.so.6.0.3 的软链接:libstdc++.so.5,命令如下:
ln -s /usr/lib/libstdc++.so.6.0.3 /usr/lib/libstdc++.so.5
但是,当我试着移植从DeLi Linux 网站的软件仓库中下载的firefox (http://www.delilinux.de/packages/deli/deli32/firefox/firefox-1.5.0.12-deli2-i386-1.tgz)时却不能移植成功。
不过,由于DeLi Linux 0.7.2中的firefox不能支持xft字体,所以浏览中文网页字体不太好看,甚至个别字显示不出来。我解决这个问题是使用中文点阵字体(如:wenquanyi bitmap 字体),这个问题我在后面的中文X window 环境设置中再介绍。

如果你找不到需要的软件,那么,对于开源的软件,你还可以尝试直接从源码编译安装软件。因为 DeLi Linux 现在采用的是 uclibc,所以,并不是所有在glibc环境下能够编译使用的软件就完全能够在uclibc上编译成功(也许通过打补丁可以编译成功)。但是,可以说绝大部分都可以编译成功。我在DeLi Linux 曾经编译成功的软件有: Zhcon-0.2.6中文控制台环境, Gc-6.2, W3m-0.5.2文本浏览器, Icecat-2图形浏览器, Dillo-i18n-0.8.6图形浏览器, i810集成显卡驱动等等;暂时没有编译成功的软件有:Firefox-1.5图形浏览器,Nash 开源flash播放插件等。

另外,顺便介绍一下在DeLi Linux 0.8里面自带的一些软件:文本编辑器:E3vi, Nano, Leafpad;办公软件: Abiword文档编辑,Gnumeric 电子表格,Epdfview PDF查看器;浏览器: Lynx,Netsurf,Skipstone;看图软件:Gqview;窗口管理器: Icewm,Fluxbox; 音乐播放器:mpg123,xmms2;视频播放器:Vlc;资源管理器:Rox。完整的软件列表请参见:http://www.delilinux.org/packages.txt

好了,DeLi Linux 0.8上的软件安装就写到这里了。下一篇日记将是:DeLi Linux 0.8 中文环境配置

为PII级别的老旧电脑寻找一个轻量级的中文 Linux 发行版

原来我有一台486DX100、24M内存、1M显存、4.3G+1.3G(1.6G的屏蔽了约300M坏道)硬盘的电脑,当时使用的是RedHat Linux 9.0的控制台模式,因为我找不到一个可用的中文版图形界面的Linux发行版。但是,它已经可以为我提供了日常所用的大部分功能:如用zhcon+screen+w3m的中文控制台环境,我可以上网、写博客、听mp3、用gtmess与MSN的朋友聊天等等。所以,Linux让我的 486 老旧电脑重新燃起生命之火。当然,如果你不要求中文环境,在Linux下仍然有可以用的图形界面的轻量级发行版可以使用,如:DSL, DeLi 0.7系列等等。(参见我的为486寻找Linux操作系统的系列日记:http://www.learndiary.com/tag/486 )另外,这台电脑我现在仍然在使用。不过,我现在使用的是Slackware 10.2的中文控制台环境。因为我的硬盘只有1.3G(相对于RedHat,Slackware的定制性要强一些,可以减少一些不需要的程序,启动也要快一些)。

现在,我又有了一台老旧电脑,是赛扬400的CPU,96M内存,共享2M显存(本来是可以共享8M显存的,我在BIOS里设置为2M)。那么,我在选择轻量级的中文Linux上又有什么经历呢。下面是我的一个阶段性的总结,供有类似电脑的Linux爱好者参考。

这台电脑已经可以勉强运行最新的轻量级发行版:Arch Linux(archlinux-2008.06)了,甚至可以使用一个功能较全,界面漂亮的Xfce4图形界面了,我在上面运行了最新了的Firefox 3 浏览器,并不是太慢。Arch Linux 是一个“无缝连接”的Linux发行版,只要你安装了它,以后你就只需要一个命令:pacman -Syu 就可以升级整个系统(包括内核)了。它是针对i686优化的,所以不能运行在之前的CPU上。pacman 升级的速度比较快,相对于其它发行版,你可以很快的使用到官方的最新版本(包括内核)。我在用最新的光盘(archlinux-2008.06-core-i686.iso)安装它的过程中基本上没有碰到什么问题。只是,在用 pacman -Syu 升级整个系统的时候,报告“已经存在某个文件,不能升级”之类的提示,我把报告的那个文件删除就OK了。但是,毕竟,要用这样7、8年前的电脑来运行最新的发行版确实有点勉强,所以,我把 Arch Linux 请出了这台老电脑了。我非常赞赏Arch Linux的包管理方式和它的由社区用户贡献的“Arch User Repository”(Arch 用户仓库)。不过,在初步使用Arch Linux后,我有点小小的怀疑:这么快的软件更新速度,系统的稳定性保障会如何呢?比如,会不会有人拿它来做服务器系统呢?

我还在这台电脑上试用了一下 Puppy Linux( Puppy 217 NOP中文版),我是用live系统启动后选择完全安装到硬盘上。方法是:在菜单里找到并使用通用安装程序(Puppy universal installer),一路进行到选择具体安装方式那块,选择第二项(NORMAL,而不是COEXIST(参见:http://e-pup.5d6d.com/thread-707-1-1.html)。速度比最新的 Arch Linux 要快,但是可能我的内存太小了(96M),图形界面用起来还是有点卡(如上面的Opera浏览),另外,不知是怎么一回事。我用它上面的软件包管理器从网络上下载需要的软件包,一点鼠标那个软件包管理器就退出去了。Puppy Linux 设计成单用户的root使用模式,虽然我读过 Puppy 官方的说明,即这种方式并不妨碍安全等(参见:http://www.puppylinux.com/faq.htm 中的“Q: Security concerns”),但我个人感觉还是有点不适应,呵呵,选择 Linux 也是“跟着感觉走”啊。况且,我的这台老机器还是多用户使用机呢。也没有探索过Puppy在多用户环境下怎么设置。我的看法还是没有改变,puppy Linux 仍是我的系统维护Live操作系统的首选。

在一篇国外的比较轻量级Linux发行版的文章中:Review: Lightweight Linux distributions,作者把一款名为“TinyMe”的发行版排为第一位,听说这在 Linux 社区引起了一些争议。TinyMe 是一款明确提出为老旧电脑开发的发行版。我也在这台老机器上试用了一下 TinyMe 2008.0 版本。也是在硬盘上启动live系统后选择安装到硬盘上。这里要注意,开始安装到硬盘上总不成功,后来在登录时选择一个好像名为“safe-failed”的选项(大概是安全模式吧),然后执行安装到硬盘的命令(忘了 🙁 )就安装到硬盘上了。可能是我的机器内存太少了吧。这是一款基于PCLinuxOS的轻量级发行版,针对i586优化。使用方便的apt包管理,安装软件比较方便。只有200M 的ISO文件。它的界面华丽,安装了中文的locale后,中文支持也比较好。不过我发现用手工把它设置为zh_CN.UTF-8后,界面右下角的时间显示才能显示出中文来。不过,我感觉它在这台机器上的运行速度比起Arch Linux 还要慢一点点。可能是它的界面比较华丽和自动加载的东西要多一点的原因吧。个人以为,这种针对老机器的轻量级发行版,最主要的方向应该是速度,而不是外表。

下面这一款发行版是明确提出针对老旧电脑开发的发行版 DeLi Linux 0.8,我感觉到它在国际化轻量级发行版的努力上已经做到了现实中的极致。为什么这么说呢?因为它采用了为嵌入式设备使用的uclibc构建整个系统,而且,基本上没有默认启动的服务,完全由你自己加入需要启动的服务。所以它的使用上可能需要一些linux基础知识。还有,由于它采用了uclibc,所以一些闭源的东西没有办法使用。如:Opera浏览器,firefox浏览器的flash播放插件等。从我的测试中来看,它的系统资源占用是我这里比较的这几款发行版里最少的。不过,由于它还只是一个Beta版,还有一些bug,所以需要有一定的Linux基础来解决可能碰到的问题。

最后,是我暂定为在这台老机器上采用的Linux发行版,Slackware 10.2。虽然,它有点过时(2005年9月),而且,它的目标也并不是为老旧电脑特地开发的。但是,它的可用性和系统资源占用上达到了一个我认为比较恰当的平衡。这也同样需要有一定的Linux基础才能较容易的使用。

我上面试的都是一些支持中文的 Linux 发行版,如果不考虑中文支持问题,那个基于GTK1的DSL(Damn Small Linux)也算是可用性和资源占用平衡的优秀作品。发行版排位是个见仁见智的问题,也往往会引起争论。所以,我想说,对于 Linux 发行版,没有最好的,只有最适合你自己的。还有,有时候,选择发行版就是一个个人喜好的问题。对于有Linux基础的朋友,对PII级别的这类老旧电脑,可以试试Arch Linux、Slackware Linux、DeLi Linux;而对于刚接触Linux的朋友,可能Puppy Linux 和 TinyMe Linux要容易一些;对于有雄心或能力或兴趣的朋友来说,支持一下 DeLi Linux 也可以锻炼你的能力和考验你的意志。虽说,DeLi Linux 的uclibc现在有这样那样的限制,但是,谁能保证经过大家的努力,作为为嵌入式设备使用的uclibc永远不能被闭源软件支持呢?

好了,关于PII 级别的Linux发行版选择的文字就此打住。祝大家中秋节快乐!