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 中文环境配置

DeLi Linux 0.8 设置

这是DeLi Linux 系列日记的第3篇,上一篇是:DeLi Linux 0.8 安装;下一篇将是:在 DeLi Linux 0.8 中安装软件

官方的DeLi Linux 0.8的设置页面请参见:First steps after installation。在这篇日记里,我主要是根据自己的使用经验对官方的系统设置作一个适当的补充,介绍怎么样设置DeLi Linux 0.8,包括 X Windows、网络、声卡、鼠标、优盘等等的设置。这里基本上不包括具体某种语言环境的设置。具体中文控制台和 X Windows 桌面使用环境的设置和相关软件的应用将在另外的日记中详细介绍。

重新启动你刚用“ deliinstall ”安装好的系统,以 root 用户登录控制台环境。在命令提示符下面输入“ delisetup ”即开始 DeLi Linux 0.8 的设置。第1项是键盘的设置,简体中文用户选择“us”;第2项是语言,简体中文用户选择“zh_CN.UTF-8”;第3项是设置Lilo启动菜单,上一篇日记“DeLi Linux 0.8 安装”已经详细介绍过;第4项是设置“ppp”连接,即原来老式的电话拨号上网,现在中国境内应该基本上没有人用了,我也没有在 Linux 系统上设置过,如果你有需要就根据程序提示进行设置。

第5项是局域网设置,不管你是局域网用户还是 ADSL 宽带直接接入因特网等等,你都需要进行这一步的设置。hostname 输入主机的名字,如“ deli ”; domain 输入机器所在域的名字,我这里没有,就直接任意一个不以点号“.”开头的名称,如“ localdomain ”;接下来是为机器设置 IP,请根据你自己的情况在3种设置方式中进行选择,下面分别对3种设置方式进行简单的介绍。

1)、静态IP设置:如果你被网络管理员指定一个固定的IP、网关、DNS,那么你就使用这种设置。这通常是在一个局域网内。根据提示输入相应的数据,如这样:
ip: 192.168.0.106, netmask: 255.255.255.0, gateway: 192.168.0.1, dns: 61.236.159.99
然后就是加载网卡驱动,第一项是自动检测;第二项是手动在配置文件 /etc/rc.modules 中修改。你可以先自动检测,如果检测出来的驱动不对,你再手工修改。我这里本来是 ne 兼容的ISA网卡,自动检测认为是com20020网卡,结果自动检测的驱动不能使用。只得在 /etc/rc.modules 中手工加载, 我这里是 “/sbin/modprobe ne io=0x240”。其中的“io=0x240”数据是我原来在windows97下使用这块网卡时查的(也应该可以根据具体的网卡型号通过其它途径(如:网上)查找相应参数)。如果是即插即用的网卡,也可以不用添加“io=xxx”。如“/sbin/modprobe 8139too”;

2)、DHCP 设置:如果你的IP是由局域网的DHCP服务器自动分配的,或者是 “cable modem”,或者是DSL服务(但是,我使用的ADSL连接到因特网,当设置为DHCP时不能上网,在/etc/rc.modules中加载相应网卡驱动后,要设置成后面的 loopback,然后用pppoe-setup设置ADSL连接才行,不知是怎么一回事),那么就选择 DHCP 设置。这一选项也有同前面一样的网卡驱动的设置;

3)、loopback 设置:如果你使用serial modem,或者使用笔记本网卡(与pcmcia相关),或者没有网卡,就选择此项。这一项不会进行网卡驱动的设置;

如果你是在局域网中,那么经过上面的设置你已经可以上网了。 ping 一个域名(如: ping google.com )检测是否连接上因特网。

如果你是 ADSL 用户,那么你还需要在完成了“delisetup”中局域网的设置后进行pppoe的设置才能上网。首先确认你安装了 ppp 和 rp-pppoe 软件包。执行“pacman -Q 软件包名称”以确认你安装了相应的软件包。然后,执行“pppoe-setup”进行 ADSL 连接的设置。程序会问你ADSL的用户名、密码、网卡、DNS、防火墙等等设置,根据你的情况回答就是了。网卡一般情况下接受默认值为“eth0”,DNS一项填“server”就是了,防火墙选 “1”。设置完成确定后,用root 帐号执行 pppoe-start 即开始 ADSL 连接, pppoe-stop 断开连接。 你可以把 pppoe-start 写进启动脚本里让系统启动后自动连接。如写在 /etc/rc.local 文件里: pppoe-start & 。

因为 ISO 文件里的“delisetup”程序有点问题,设置后面的9、A、B几项会导致程序直接退出(见Wiki的bug报告页: #23:deli:delisetup options lead to wrong place),所以这几项我不在“delisetup”里面设置,第9项安装另外的软件包可以通过我在上一篇日记“DeLi Linux 0.8 安装”介绍的pacman 程序安装;而第A项我还不知道怎么设置,就不写上了(也许是ISO文件中根本就没有这个软件);第B项设置系统启动时需要启动的服务我通过直接修改“/etc/rc.conf”文件来进行设置。这里介绍一下第B项的设置,“ls /etc/rc.d/”查看有效的服务,然后打开文件“/etc/rc.conf”,把你需要启动的服务名称填在 SERVICES="" 这行的""之中,不同的服务名称用空格隔开,如: SERVICES="net sshd",注意,不要gpm写进服务里,我的经验是这会导致系统无法启动。如果你需要在开机启动gpm服务,可以这样,在“/etc/local”中另起一行添加:“ /etc/rc.d/gpm start & ”。

另外,因为在文字界面的控制台环境设置Xorg X Server 时可能会出现问题(见Wiki的bug报告页面:#27:delitools:some delisetup errors),导致写入“ /etc/X11/xorg.conf ”配置文件时出现问题,所以,我的做法是先设置第7项“ Tiny X Server ”,使系统可以进入 X Windows 桌面在 xterm 里面执行“delisetup”设置“XOrg X Server”。实际上“Tiny X Server”和“XOrg X Server”都是设置 X Windows,但是前者几乎每台电脑都可以使用,但是它的屏幕刷新率只有60HZ,这在CRT显示器有点刺眼;后者可以有高的刷新率。

现在选择第7项设置“Tiny X Server”,下一步移到“Xvesa X-server”,再下一步选择“video mode”,如:“800x600x15”,设置好后会返回设置主菜单。然后选择第8项“Setup Window Manager”,现在只有一个选择“icewm”,确定就行了。然后,移动到设置主菜单的最后一项“Quit”退出主菜单。为了在“Tiny X Server”下面使用鼠标,需要把它默认的鼠标设备“/dev/mouse”链接到真实的鼠标设备,我这里是执行命令“ln -s /dev/ttyS0 /dev/mouse”,如果你以后就是使用这个“Tiny X Server”,你可以把这句命令写入配置文件“/etc/rc.local”中,让系统启动后自动执行。设置好鼠标后,在命令提示符下面执行“startx”进入X Windows,用鼠标点击执行窗口左下方的那个终端图标,进入 xterm,因为系统的bug,你需要在设置“XOrg X Server”之前手工建立“/etc/X11”目录,即执行“ mkdir /etc/X11 ”,否则,这会导致写入“/etc/X11/xorg.conf”配置文件不成功。然后,在xterm的命令提示符下面执行“delisetup”,开始“XOrg X Server”的设置(如果你不想使用“Tiny X Server”的话)。“XOrg X Server”的设置是个Linux系统的基础问题,根据提示信息和你自己的情况做出选择就行了。其中,最容易出问题的地方是显卡“Driver”的选择,DeLi Linux 0.8 现在有效的显卡驱动在目录“ /usr/lib/xorg/modules/drivers ”下面,如果没有找到适合你自己的,那么选择“vesa”驱动是个绝大多数情况下可用的选择。只不过屏幕刷新率只有60HZ。如果这都不行,就用前面的“Tiny X Server”吧(如果这样的话,你需要重新设置一下“Tiny X Server”)。如果设置成功,那么同时按下“CTRL”和“Backspace”键,回到控制台,执行 startx 就可以使用你的 X Windows了。另外,如果你在 X Windows下使用滚轮鼠标,在xorg.conf的鼠标一节有两项这样设置(仅供参考):

Option "Protocol" "ImPS/2"
Option "ZAxisMapping" "4 5"

针对非root的用户,登录后同样执行“delisetup”,设置一下第8项“Setup Window Manager”就行了。如果不行,在你进入X Windows 失败后,编辑你的家目录下面的 .xinitrc 文件,在后面另起一行手工添加一句“ exec icewm-session”就行了。

如果你有声卡,在 root 用户下面编辑“/etc/rc.modules”文件,另起一行添加你的加载声卡命令,如:“/sbin/modprobe cmpci”(把cmpci换成你的声卡驱动),如果你使用老式的ISA声卡,那么,你可能还需要添加“io”等参数,如我使用过的 ISA sb 兼容声卡“/sbin/modprobe sb io=0x220”,这个“io”参数我是在原来在Windows97使用时查看的。你也可以找到这种声卡的相关资料进行设置。DeLi Linux 0.8使用的 OSS 声卡驱动。这样,设置好声卡后,你就可以用mpg123或xmms2播放音乐了。

我为了使用优盘和USB鼠标,在“/etc/rc.modules”文件后面添加下面一行,就可以了(仅供参考):

/sbin/modprobe usb-ohci

但是,上面加载优盘和USB鼠标的驱动是在P6SEP-Me (SIS芯片)+ 赛扬400处理器的机器用的。我发现在另一台i810 + 赛扬1G的机器上,只要加载一个“/sbin/modprobe usb-uhci”就可以使用优盘和USB鼠标了,而在前面 P6SEP-ME主板的机器上加载“usb-uhci”或“uhci”则不行(在i810的机器上加载uhci也可以,不过据说这样做有可能引起死机)。不同的芯片组和USB规范需要加载不同的驱动。参见:Linux下USB设备的原理、配置、常见问题

这样,基本的系统设置就算完成了。你已经可以正常使用 DeLi Linux 0.8 了,但是如果你要较为舒服的使用中文的控制台环境和 X Windows 环境,那么你还需要一些另外的设置。我将在后面的日记中介绍。

DeLi Linux 0.8 安装

这是DeLi Linux 系列日记的第2篇,上一篇是:什么是 DeLi Linux?;下一篇将是:DeLi Linux 0.8 设置。

在这篇日记里,主要介绍怎么样安装 DeLi Linux 0.8,包括光盘安装和硬盘安装。

首先,你需要下载DeLi Linux 0.8,这里建议下载DeLi 0.8 完全版 ISO - 包括图形用户界面 (252 MB),文件名是:deli-0.8.0-full.iso。下载页面:http://www.delilinux.org/wiki/doku.php?id=chinese:download 。我建议首选的方式是用BT下载,即那个Torrent ,在各个操作系统下面都有相应的BT下载软件。这里就不重复了。

对于一般的用户来说,首选的安装方式是把下载下来的ISO文件刻到光盘上,然后用光盘安装的方式。光盘安装的方式请参考DeLi Linux 的 wiki 页面:chinese:installation:cdrom [DeLi Linux Wiki]

对于有一定Linux基础的朋友来说,你可以试一下硬盘安装的方法。我在这里重点介绍一下硬盘安装。

对于硬盘安装,我只介绍一个我用过的方法。前提条件是你的硬盘中已经有了一个可引导的Linux系统。并且预留了一个Linux分区用于安装DeLi Linux系统。

首先,把下载下来的ISO文件解压缩到一个Linux分区里,我是解压到一个ext2分区里面的。我试过把ISO文件解压到一个 Windows 的FAT32 分区,但是,可能是DeLi Linux 0.8安装程序里挂载 FAT32 分区有bug(见bug报告页:#32:delitools:deliinstall mount fat32 partition error),所以从解压到FAT32的安装文件安装时没有成功。在这里假设你的ISO文件在 /mnt/download 目录下面,准备解压到 /mnt/deliiso (在分区:/dev/hdc3)目录下面,而准备安装到 /dev/hdc1分区中。解压ISO文件的具体步骤如下:
1)、用root账号建立一个ISO文件的挂载点: mkdir /mnt/isofile ;
2)、挂载ISO文件: mount -o loop /mnt/download/deli-0.8.0-full.iso /mnt/isofile ;
3)、拷贝ISO里面面的文件到目的文件夹: cp /mnt/isofile/* /mnt/deliiso/ -r
这样,就把ISO里面的文件拷贝到安装文件目录了,里面应该有这么一些文件夹或文件:Changelog、 INSTALL、 isolinux、 pkg 。

然后,编辑你原来可以启动的 Linux 系统的启动菜单,这里以Grub启动菜单为例,说明一下怎么样进行硬盘安装。根据/mnt/deliiso/isolinux/isolinux.cfg 文件里面的内容编辑 Grub 启动菜单安装选项里面的内容如下(文件:/boot/grub/menu.lst):

title DiLi Linux 0.8 Installation
root (hd1,2)
kernel /isolinux/bzImage root=/dev/ram load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=6464 rw
initrd /isolinux/initrd.gz

(注意:上面以“kernel”开始到“rw”结束是一行)

如果你用LILO引导系统,下面是 LILO 引导菜单的相关内容(假设安装文件在/mnt/hdc3下面,文件: /etc/lilo.conf )

image = /mnt/hdc3/isolinux/bzImage
initrd = /mnt/hdc3/isolinux/initrd.gz
append = "root=/dev/ram load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=6464 rw"
vga = normal
label = installdeli

(同样,append 到 rw" 是一行)

重新启动机器后,在 Grub 启动菜单里选择“DiLi Linux 0.8 Installation”进入安装程序(在Lilo启动菜单里选择 “installdeli”),在提示符下面执行“deliinstall”后即开始进行安装,步骤同上面wiki页面介绍的光盘安装基本一样。你根据安装程序提示依次设置你的键盘、根分区、格式化根分区、选择安装文件所在位置、选择内核类型(是否是SCSI启动分区)、选择swap分区、格式化和激活swap分区、选择语言、设置root密码、设置普通用户账号、安装Lilo引导程序、安装软件并完成安装。这里与光盘安装略有不同的地方就是当你选择安装文件所在的分区时,因为它的安装提示没有随着新版本的发布而更新,可能会误导你。在这一步,当问你是否搜索光盘,选择NO,然后问你包含安装文件的设备,这时你要输入linux下的设备分区名称,在我们这里就是:/dev/hdc3 。

另外,不管你是从光盘还是从硬盘安装,都需注意以下几点:
1)、用上、下、左、右光标键在选项之间移动,用空格键或回车键选定选项,如有OK字样,移到OK上按回车键即确定选项。在安装过程中,系统基本上不会给你确认的步骤,所以,在选择OK按回车键之前请仔细检查;
2)、小内存机器安装之前要先激活swap分区,按DeLi Linux WiKi 上的官方说法是小于48M时在执行deliinstall前就要激活它(参见:http://www.delilinux.org/wiki/doku.php?id=chinese:installation:cdrom 的开头部分 )。原因是安装程序的pacman程序在小内存机器上执行时可能出现问题。具体方法是在启动安装系统后,在执行deliinstall前执行激活交换分区命令,假设交换分区是 /dev/hdc2,那么就是: swapon /dev/hdc2 ;如果没有设置交换分区,则格式化交换分区,简单的说就是分区的时候分一个Id为82的交换分区,再用 mkswap /dev/hdc2 格式化交换分区(把/dev/hdc2换成你的交换分区名称)。Haary 已经写了一个轻量级的pacman 替代来解决这个问题,参见:http://www.delilinux.org/wiki/doku.php?id=devel:0.8
3)、在安装Lilo 引导程序时,如果你打算用其它系统来引导DeLi Linux就选择忽略(skip)就是了;第一项的简单自动安装将把引导程序安装到第一个硬盘的主引导扇区中(即MBR),所以这将覆盖你的第一个硬盘的MBR中原来有的引导记录;当选择第二项专家模式安装时,要注意默认安装的 image 都是 /boot/bzImage,如果要由新安装的DeLi Linux 引导其它系统,你需要安装LILO引导后手工修改 /etc/lilo.conf文件。当你修改了lilo.conf后,要执行lilo命令更新引导扇区。lilo.conf 文件的编辑请参考 man lilo.conf ;

4)、在进行到最后一步安装软件时,普通用户建议选择“YES”,即安装全部软件。需要注意的是,即使你这样选择,并不是光盘上的所有软件都安装了,如,自己编译程序需要的开发包就没有安装。这需要你设置好系统后再用 pacman -S devel 命令安装全部开发包。如果你没有选择安装全部软件,可以把 /etc/pacman.conf 的相应内容设置好,如我这里设置从前面硬盘里的安装文件安装,设置的[cdrom]节如下:

[cdrom]
Server = file:///mnt/hdc3/pkg

以后再用“pacman -Sy”执行系统软件安装数据库与安装源的同步,用 “ pacman -S 软件名或软件组名 ” 来安装相应的软件。如: “ pacman -S zhcon ” 安装 Zhcon 软件; “ pacman -S core lib xlibs net ap xserver desktop mm devel ” 即安装9个软件组的全部软件(其中的core在前面安装DeLi Linux时已经都安装了)。因为,我到现在为止还没有在 DeLi Linux 官方网站发现完整的软件组(groups)信息,也许漏掉了个别软件组也不一定。还有,个别没有归入任何软件组的软件仍然要手工安装,如:skipstone 网页浏览器, leafpad 文本编辑器等。

另外,假设你的机器既没有其它已经安装了的操作系统,也没有光驱,那么,你可以把硬盘拆下来,在其它系统上完成安装,并把lilo引导程序的安装位置定位到DeLi Linux的硬盘上(如我这里就选/dev/hdc,而不是它默认的/dev/hda)。这不会破坏你的原有操作系统的。然后,再把这块硬盘装回原电脑,IDE接口和主从盘的设置与在另一台电脑安装时的相同(如:原来是IDE2接口的主盘/dev/hdc,现在也是IDE2接口的主盘/dev/hdc),并设置成从这块硬盘启动系统。这也有一个好处,把硬盘拿到新点的机器上安装起来要快一些。还有一些光驱不能直接从光驱启动,如果你有软驱,也有可能用光盘安装的方法安装 DeLi Linux 0.8(具体作法参见:光盘安装的开头部分)。

无论你在哪个机器上安装DeLi Linux,上面的安装程序所安装在硬盘上的文件都是一样的。针对不同机器不一样的是下一步,我将在另一篇日记中写的:设置 DeLi Linux。

什么是 DeLi Linux?

这是DeLi Linux 系列日记的第1篇,下一篇为:DeLi Linux 0.8 安装

在这篇日记,我将根据自己的了解,向大家介绍一下来自德国的国际化轻量级Linux发行版 DeLi Linux 的基本情况。包括它的使命、历史、特点等等。

DeLi Linux 是由德国人 Henry Jensen (网名:haary) 创建和由他主要维护的。关于 DeLi Linux 的基本介绍,在它的中文主页:http://www.delilinux.org/index-cn.html 上已经讲了一些。我在这里加上自己的一些理解重复一下。

DeLi Linux 的使命:DeLi Linux 是为那些 486到PIII级别的老旧电脑特制的 Linux 发行版。因为并不是每个人都买得起新电脑的,或者有那些不愿扔掉旧电脑的朋友。而作为其它的商业性操作系统如Windows,它们是不会再为这样的老旧电脑的老旧操作系统提供支持的了。微软的态度就是换掉你的电脑,换掉你的操作系统,使用最新的“Vista”吧。结果呢,软件工业和硬件工业相互追逐,形成了一个恶性的循环,电脑的能耗越来越大,产生的电子垃圾越来越多。DeLi Linux 需要解决它的第一号bug:#1: 现在的软件不能运行在旧的硬件上,DeLi Linux就是设计来修复这个bug的。这个一号bug的灵感来自于Ubuntu 的一号bug:微软占据新的桌面PC市场的大部分份额。Ubuntu就是设计来修复这个bug的。

DeLi Linux 的历史:从DeLi Linux的版本发布的wiki页面中可以知道,从它的2002年11月2日发布的第一个版本0.1版算起到2008年5月28日发布的0.8版共11个版本,DeLi Linux 公开问世已经7年了!从0.1到0.6版,它是基于Slackware的;Haary在2006年9月15日发布的0.7版,完成从零开始重写了整个系统,不再基于Slackware了,并且把基于glibc改为基于uClibc;在2008年5月28日发布的0.8版中,桌面系统不再采用GTK1,而使用了GTK2,统一采用UTF-8编码,这一改动使DeLi Linux 成为一款真正的国际化轻量级Linux发行版。在0.8版中,DeLi Linux 开始采用了Arch Linux 先进的pacman 包管理系统,使得安装和更新软件更加方便。不过,这么多年,应该基本上是由 haary 一个人利用业余时间来维护 DeLi Linux的,可以看出他是一个坚韧不拔的人。从他的在wiki上的博客2007/06/14的那篇日记可以看出,haary想开放DeLi Linux的开发维护。但是现在看来,这种开放的开发还有待发展。我猜想,也可能是以前 DeLi Linux 一直是以 haary 个人开发维护为主,所以它的进展是比较慢的,一直到现在为止,DeLi Linux 还是处于测试版本阶段。我想,对于 DeLi Linux 所订立的使命来说,开放式的、更多人参与的社区式开放可能更有利于达成它的这个艰巨的使命。既然 haary 已经在朝这个方向引导了,我想,以后 DeLi Linux 的开发进度有可能会加快。

DeLi Linux 的特点:以现在最新的 DeLi Linux 0.8 为例。简单的一句话概括它的特点就是,国际化的轻量级 Linux 发行版。所谓“国际化”,就是你可以配置它“说”任何你想要的语言。现在 DeLi Linux 采用的是 uClibc 和 GTK2,所以它能很好的支持 UTF-8 编码,在用“delisetup”配置它的语言时,有169种语言选项;在 /usr/share/locale 目录里面,有109种语言;从理论上来说,支持 UTF-8 编码的 GTK2 程序都可以正常使用。采用 zh_CN.UTF-8 编码的中文支持一切正常。从轻量级的角度来看,我认为 DeLi Linux 在国际化的基础上,它已经做到了轻量级的极至,因为它采用了针对嵌入式设备的uClibc,使得编译的程序体积更小和占用更少的内存;然后,它有源自Slackware 的高可配置性,基本上没有默认的服务启动,一切都由你自己控制;它采用了一些轻量级的软件,如:轻量级的Icewm窗口管理器、Sylpheed邮件客户端、Abiword文字处理、Netsurf网页浏览器、vlc视频播放器等等。一个完全安装大概750M,软件包清单见: http://www.delilinux.org/packages.txt ,前面所说的完全安装应该包括了软件清单里的全部软件,不过没有仔细的查看过。当然,也正是由于 DeLi Linux为了速度和体积而牺牲了一些可用性,一些针对glibc编译的闭源软件无法在使用uClibc 的 DeLi 0.8 上运行,如:Opera浏览器,Firefox的flash播放器插件等;检测和设置硬件的自动化程度不够。

虽然,DeLi Linux 问世已经长达7年了,但是,仍然是测试版本,它的发展并未稳定。像现在最新 DeLi Linux 0.8 也还有不少的bug。但是,不管它的发展如何,它有了自己追求的目标:为老旧电脑制作 Linux 操作系统。希望 DeLi Linux 能在这个目标的指引下有一个光明的未来。

为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发行版选择的文字就此打住。祝大家中秋节快乐!

网络就是一部大计算机

Sun 公司创立时,创立者就提出“网络就是计算机”的独特理念。在几年以前,作为一般的电脑使用者来说,可能对此还没有什么感觉,可如今,我已经确确实实的感觉到了:网络就是一部大计算机

现在,凡是世界上的IT界大公司,都在传播他们的“云计算”概念(关于云计算,请参见:韩宪平 博客专栏的相关文章),据韩宪平先生的定义:“云计算”(Cloud Computing)是分布式处理(Distributed Computing)、并行处理(Parallel Computing)和网格计算(Grid Computing)的发展,或者说是这些计算机科学概念的商业实现。作为一般的计算机用户,也不能准确的理解这些高深的科学术语。这里仅从日常使用电脑的一些应用的原来和现在的对比来看看网络给我们带来了什么。

1、游戏:网络游戏已经盛行,原来那种单机的小游戏也移到了网络上,如:原来的超级玛丽、雷电、连连看等等,现在只需要一个浏览器就行了。这种网站很多,一抓一大把,我玩过的一个如:http://www.xiaoyouxi.com/

2、办公软件:如果我们编辑一篇文字,做一个电子表格,原来就非得装上一个办公套件,而现在,作为一般的没有特殊要求的普通应用,一个浏览器就够了,在线文档编辑能满足需要,我用过的如:Google 文件 http://doc.google.com/

3、在线图片编辑:要编辑一个图片不再必须用photoshop之类了,因为有在线图片编辑,满足一般的图片剪裁、缩放、加文字、加框等等,我用过的如:http://www.16ms.com/photo

4、在线记帐:日常需要记点帐,使自己的开支更有计划吗?可以试试网上记帐: http://www.billmap.com/

5、在线输入法:没有安装输入法就不能输入汉字吗?这在以前的回答是肯定的,但是现在不了,因为你可以使用在线输入法,如:http://www.inputking.com/,其中有多达十几种输入法供选择;

还有其它一些我们个人不常使用的东西,如韩宪平先生文章中提到的一些企业级的程序:
云服务器提供商企业名录
云计算注定是微软命中的克星
云计算作为商务模式
等等。

以上这些也许有些东西并不是严格意义的云计算,但是,它们却让我们真正的感觉到“网络就是计算机”了。我们电脑上的一些东西正在向网络上转移,网络服务的提供商就像自来水厂,像发电厂,我们只要一开阀门,程序就有了。

虽然,这些技术还不是非常成熟和可靠,如安全、稳定和速度等等问题,但现在毕竟已经成为现实。假定这是一个发展的趋势,作为对电脑单机的影响,一个很明显的影响就是操作系统的无关性:不管你是 Linux 还是 Windows ,只要你接受来自网络这个大计算机的服务就是了。而作为“云计算”的客户端,个人计算机的配置可以做得比较低,计算能力相对较弱的便携式设备也能胜任。对操作系统而言,Windows的易用性和市场的先期占领优势和微软本身的强大;Linux 系统的开放性、灵活性、可伸缩性、可定制性和优秀的网络性能;还有Mac OS等等,那么,在将来的操作系统竞争中,谁将更胜一筹?我们拭目以待。。。

“番茄花园”事件是我们应该给予 Linux 更多关注的一个信号?

这几天的“番茄花园版Windows XP作者被拘留”的事件想必大家都知道了,用一句话说这个事件就是:中国当地警方应微软等投诉将在国内很流行的番茄花园 windows xp 修改版的作者洪磊抓捕。网上对此众说纷纭,有说是微软收网,有说是盗版团体的内讧,见:番茄花园作者被捕 是微软收网还是盗版阵营内斗;还有说是微软与番茄花园之间达成的阴谋,见:番茄花园站长洪磊被抓是否是一个骗局?等等。但不管怎么说,有几点可以肯定了:微软投诉了番茄花园,中国政府执法部门采取了积极的配合态度,番茄被摘已是不争的事实。

这其中的复杂细节我们先不去研究,作为用户,我们能嗅到一种什么样的气味呢?不管是微软还是政府,都已经开始对盗版 windows 下手了,我们盗版的使用者也在感受着杀气的步步逼近。在上面的“番茄花园版Windows XP作者被拘留”网页上有一个调查,显示近70%的网友使用过盗版windows,而近80%的网友支持洪磊。从这一个数据试想一下,中国那么多的PC,该有多少盗版windows在使用啊。有一种言论认为,盗版普及了中国的信息技术,比如:用买正版软件的钱来购买PC,再装上盗版的软件,那么同样多的钱我们就可以多装很多台PC,所以,盗版有益于中国的发展。我先不说盗版对国产软件厂商的扼杀,也不谈对国民道德自觉性的麻痹,也不谈对整个国家创新能力的抑制(参见本人拙文:政府推动 Linux 应用有利于中华民族的复兴),就对最现实利益的层面来说,套用据说1998年比尔盖茨说的一句话:“要用10年时间用盗版让中国人上瘾。”(参见:中国企业家离比尔·盖茨有多远),因为中国的盗版装机量,就算以前是“中国是windows盗版最大的获益者”,那么现在及以后,中国或将成为windows盗版的最大受害者!基于盗版windows培养的中国整个信息产业对微软是如此的依赖,微软已经占领了中国的整个信息命脉,尤其是教育部门!作为一个加入世贸好几年的国家,作为一个正在崛起的大国,无论从法律上还是面子上,中国政府应该都将越来越严厉的打击盗版,或者有一天,警察会到我们家里来搬电脑。那么,就算失去所有其他国家的市场,中国这一池微软花时间养肥的鱼也够微软享用N年了。这就是我头脑里的中国盗版情况的现状及任其发展的后果!

我们就这样沿着这条windows之路向前发展我们国家的整个信息产业吗?都要我们丢掉自己的旧电脑去买新的来装上微软推出一款接一款新的庞大操作系统吗?不,我们还有另一个选择,一条看来更自由、更光明的道路,那就是 Linux 的自由世界!我在前面提及的“政府推动 Linux 应用有利于中华民族的复兴”中有详细的阐述。Linux 桌面版(像 Ubuntu , SUSE , Fedora 等等 )已经能够满足绝大多数的应用了,它的技术上已经非常的成熟,之所以不能满足我们全部的应用,缺的就是一些本地软件厂商的支持。但是,由于前面的所述,linux 在我们国家的使用率是相当的低,据Pingdom 网站根据搜索量作为依据的一个全球 linux 流行情况统计数据,中国并不在使用Linux最流行的国家之列,使用 Linux 最流行的是印度、古巴、俄罗斯等。考虑到中国庞大的网民数量(pc量),那么,可以说,中国的Linux和开源的发展还相当落后,在中国推广 Linux、开源,任重而道远

我认为,现在,阻挡 linux 流行的原因很大程度上是整个国家对信息产业的战略制定问题,而不是什么使用习惯,软件厂商的支持少。也不是中国的电脑使用者道德水平差得很(如有报告称德国40%以上学生使用开源Linux系统,难道我们国家的学生的道德水平和知识能力就比他们差这么多吗?)。试想,如果国家在加大宣传教育的同时,引导整个产业链向 linux 和开源发展,比如,在linux平台就能使用全部功能的QQ(有基础功能的官方Linux版本QQ已经发布了),UC,网上银行等等。那么中国的整个信息产业就会柳暗花明了。中国是个有着巨大信息产品需求的国家,我们应该有能力改变自己的未来,并且,随着中国对 linux 和开源的强劲需求,对全世界的 linux 和开源事业都有强劲的推进作用。那么,整个信息世界都将因此而改观。

当然,作为强大的微软这个以盈利为目的商业巨人,它肯定也不会这么甘心它这么多年苦心培养的这一池鱼跑掉。它会以各种手段强化中国信息产业对它的依赖,甚至让利与中国老百姓。但是,如果我们不作其它的选择,恐怕就“搓圆搓扁随便它”了。

衷心祝愿世界走好,中国走好,中国的信息产业走好,中国的老百姓走好,像番茄花园 windows xp 修改版的作者洪磊这样的技术高手也走好。哦,对了,还有 Linux 、开源和微软等软件巨头们走好。

而我,都将持续的关注 Linux 和开源在中国的应用,并分享自己关于 Linux 和开源方面的心得和思索,欢迎常来我的博客:学习日记。我也将把中国在Linux和开源方面的困难、进步和经验通过英文博客Learning Diary和全世界的 Linux 和开源关注者、爱好者们分享与交流。

谢谢。

(这篇文章的英文版本点击Is the "Tomato garden event" a signal of we should pay more attention on Linux?。)

Ubuntu 下挂载U盘的3种方式

因为我需要在Ubuntu下挂载的U盘能够同步写操作,所以对Ubuntu 6.06 LTS下U盘(台电1G)的3种挂载大致实践了一下。这3种方式分别是:gnome下的自动挂载,pmount命令,在/etc/fstab中设定。

1、 gnome下的自动挂载
据搜索,gnome 下的自动挂载是利用hal(HAL, Hardware abstraction layer)实现的。只要把U盘插上,就会在桌面上出现一个 名为"usbdisk-1"的U盘图标。这种方式有两个地方可以进行相关设置。

一个地方是设置自动挂载时的相关参数,例如:同步写标志sync,不更改文件访问时间标志noatime等等。在文件“/etc/hal/fdi/policy/preferences.fdi“中设置。原来的所有设置都是注释掉了的,如果添加sync、noatime 标志需要修改这个文件。我在“match key="volume.size" compare_lt="1000000000"”这行走了点弯路,意思是小于1G就添加相应的参数。可是我没有注意到我的U盘实际上比这里的1G稍微大点(sudo fdisk -l /dev/sda 中查看),为1010826752字节,结果设置的参数不管用,无意中才发觉这个问题。最后干脆去掉这一个条件,只要是这种"storage.hotpluggable"和"storage.removable" 为"true"的都加上"sync"和"noatime"标志。

另一个地方是开始菜单中的“系统->首选项->可移动驱动器和介质”,把相应选项勾上。

不对“/etc/hal/fdi/policy/preferences.fdi”修改时的/etc/mtab相关内容如下:
/dev/sda1 /media/usbdisk-1 vfat rw,nosuid,nodev,quiet,shortname=mixed,uid=1000,gid=1000,umask=077,iocharset=utf8 0 0

添加了sync和noatime标志后的相关内容:
/dev/sda1 /media/usbdisk-1 vfat rw,nosuid,nodev,sync,noatime,quiet,shortname=mixed,uid=1000,gid=1000,umask=077,iocharset=utf8 0 0

挂载点 /media/usbdisk-1是自动的。

2、用pmount 命令
在不登录入桌面的情况下,另登录一个控制台,在命令行下输入命令 pmount -sA /dev/sda1 也可以挂载U盘,效果同添加了sync和noatime标志的gome下挂载是一样的。挂载点 /media/sda1是自动的。

查看 man pmount,可知它的默认挂载参数是: async,atime,nodev,noexec,noauto,nosuid,user,rw
如果在UTF-8的locale下utf8的iocharset是默认的。
另外,在man pmount 下提示在Debian下,使用pmount 的用户需在plugdev 系统组。不过,我的Ubuntu装好就把我的使用用户自动加入了这个组。

3、在/etc/fstab中设定
要达到上面的效果需要一大串参数,如下:
/dev/sda1 /media/flash vfat rw,nosuid,nodev,sync,noatime,quiet,shortname=mixed,uid=1000,gid=1000,umask=077,iocharset=utf8 0 0
然后: sudo mount /dev/sda1

4、注意:
当在/etc/fstab 中设置了/dev/sda1的挂载选项(不论是否已经确实挂载了),gnome下的挂载方式和pmount 命令都不起作用了,这两种方式可能都会去检查/etc/fstab文件;
当使用了gnome下的自动挂载方式或pmount 命令的挂载方式,那么,这两种方式中的另一种方式将不起作用。不过,这时手工的sudo mount /dev/sda1 -t vfat -o rw,nosuid,nodev,sync,noatime,quiet,shortname=mixed,uid=1000,gid=1000,umask=077,iocharset=utf8 /media/flash 却仍然可以用。

Ubuntu 6.06 LTS 下用Wine安装 IE 和 QQ 的一些要点备忘

首先,Ubuntu 6.06 LTS 有自带的 Wine,不过,我在上面安装了QQ后不能使用。所以,使用winehq 官方提供的最新版本 wine(现在我机器上的wine是wine-0.9.59)。详见:Wine - Ubuntu中文,下面是一些要点:

关键是添加winehq 官方的源:
sudo wget http://wine.budgetdedicated.com/apt/sources.list.d/dapper.list -O /etc/apt/sources.list.d/winehq.list
然后,执行:

sudo apt-get update
sudo apt-get install wine

还有一个关键处是:
由于 X locale 的问题, 默认 wine 会轮询 x core fonts ,使得 wine 很慢,请先执行::

sudo sed -i -e '/GBK/,/^}/d' /usr/share/X11/locale/zh_CN.UTF-8/XLC_LOCALE

安装QQ:

原来的LumaQQ、MilyQQ、gaim(QQ部分)不能用很久了,下面是在 Wine 下安装QQ的情况。
我是参照 Ubuntu利用wine安装QQ 这篇文章做的,只不过,我用的是QQ2007II 正式版,没有那个TIMPlatform.exe,只有TXPlatform.exe,改不改这个文件名好像没有什么区别。

试用了一下,基本的功能差不多都可以用,包括图片验证。不过常出现异常退出的情况,界面上的少数菜单文字有乱码现象。

我还编译安装了最新版的Pidgin 2.4.0 (即gaim的后续版本),在不需要图片验证码的时候应该是能用,不过群的名称统统是现为“NULL”,好友列表只现在线的。相比而言,还是Wine 下的QQ好点。

安装IE

我是参照在 Eee PC 上使用 IE 在 Wine 下安装IE的。假设已经安装了前面的Wine。下面是我安装IE的几个要点:
首先,在 http://www.tatanka.com.br/ies4linux/downloads/ies4linux-latest.tar.gz
处下载最新版的ies4linux(现在我机器上的 ies4linux 是 ies4linux-2.99.0.1,还有一个老的ies4linux-2.0.5也能用)。

还有一个问题,安装时总是报告好像是一个CAB文件错误之类的信息,不能完成安装,使用上面参考的文章中的方法:修改lib/functions.sh也不行。最后,在ubuntu下离线安装ies4linux处找到需要的每个CAB文件的下载地址,把需要的CAB文件手工下载下来,放在合适的地方,再按照上面参考文章的方法执行安装就行了。

另外,在浏览到有flash的页面时,ies4linux 在配置低的机器上会花较长时间完成flash插件的安装,内存太少(含交换分区)的话还有可能不能完成安装!

试用了一下 Linux 的这个“IE”,也只能说是“聊胜于无”,针对那些特别“IE-ONLY”的网页还是没有办法,如:四川移动网上营业厅;还有如建设银行网上银行的USBKEY也不能用,但是,如果不用ies4linux,就连登录建行网银也是不行的!

另外,在浏览一些嵌入式的网页时,会使用到一个 Wine 下的Wine Gecko,不知怎么一回事,自动安装 Wine Gecko 好像没有成功,总是显示“HTML rendering is currently disabled”,在网上搜索了一下,如:
[分享]安装 Wine Gecko(已经更新过,没解决问题的来看)
,好像都是说要改“注册表”什么的,结果我在Wine中的注册表中根本就找不到相应的项,最后,在这篇帖子中Wine Gecko packaging找到解决的办法,把在http://downloads.sourceforge.net/wine/wine_gecko-0.1.0.cab 下载的 wine_gecko-0.1.0.cab放在目录 /usr/share/wine/gecko 下面(没有就自己手工建立),然后执行如:“ wine iexplore http://www.google.cn”就自动把wine gecko 安装上了,不用修改注册表什么的。(安装 wine gecko 的过程记不太清了,也许有出入)

Ubuntu 下移动 /var 目录到单独分区后出现的一些问题,如:mount: special device /var/run does not exist

前几天,我的Ubuntu 6.06 LTS 的 / 分区空间紧张,于是把 /var 目录移动另一个分区。偶然一次,在没有挂载 /var 分区的情况下,发现原来根分区 / 下的 /var 目录仍然有 /var/run 和 /var/lock 目录,以为这是重复的,就顺手把根分区 / 下面的 /var/run 和 /var/lock 目录删除了。

后来,问题就出来了:包括网络不能启动,ADSL 不能自动连接;Wine 的 QQ 登录后停止响应;图形界面常常停止响应,像死机,只能 CTRL+ALT+BACKSPACE 重启图形界面,等等。然后是,启动信息里出现如下一些文字:
Can't create directory "/var/run/network"
mount: special device /var/run does not exist
mount: wrong fs type, bad option, bad superblock on /dev/shm/var.run
等等

先还以为是移动 /var 目录到新的分区时,也许无意中把目录的权限修改了,对照机子上的 DeLi Linux检查了一下,移动后的目录权限应该没有什么问题。后来,甚至怀疑是用“sudo apt-get upgrade”命令更新了系统的原因。最后,上网在Google上用关键字“mount: special device /var/run does not exist”搜索资料,在 mount: special device /var/run does not exist 上找到答案,原来,不管你的 /var 目录在不在单独的分区里,/var/run 和 /var/lock 这两个目录一定要在根分区 / 里面!

然后,我从机子上的另一个 linux (Puppy Linux)启动系统,在 Ubuntu 6.06 LTS 根分区 / 下添上了两个目录: /var/run 和 /var/lock 就一切OK 了。

所以,我要把网络这个便利的工具充分运用起来,在一些实际的应用性问题上,自己经过适度的思考和尝试解决,失败后,就应该利用搜索引擎这个便利的工具了;如果还不能解决的话,就可以上论坛和等场所向别人请教了。当然,一些基础的知识平时就要主动的掌握。