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 能在这个目标的指引下有一个光明的未来。

DeLi Linux 系列日记写作计划

DeLi Linux 是一款专门为486~PIII老旧电脑制作的国际化轻量级桌面Linux发行版。目的是为一些买不起新电脑的朋友买的二手电脑或者那些不愿扔掉自己手中旧电脑的朋友提供一个 Linux 操作系统。这是一个令人尊敬的目标,当然这也是一个具有挑战性的事情。制作一款这样的发行版的复杂性并不亚于一款通用的发行版,甚至更苛刻,因为,这要考虑一个前提条件,老旧电脑有限的系统资源。

这样的轻量级发行版有一些,不过,或者是比较耗资源,或者是不支持中文(如那个著名的 DSL)。而DeLi的目标是有着Ubuntu那样的伟大胸怀,国际化的轻量级发行版,让说每一种语言的朋友都能享受这个为老旧电脑特制的Linux发行版。

从 DeLi Linux 的上一个版本(DeLi Linux 0.7.2)起,我开始接触这个发行版,并且帮助翻译了中文的wiki页面和首页,并积极参与它的论坛的讨论,暂时是上面的 DeLi Linux 中文论坛的版主。到现在大概有一年了,也算积累了一些这个发行版的使用经验。为了向中文用户推荐这个发行版(当然,我会把文章同步译成英文,也是向所有朋友介绍这个发行版吧),我决定把自己一年来的学习使用DeLi Linux的经验作一个阶段性的总结。这应该是一个有益于自己和有益于别人的事。

初步的日记写作计划是这样的(每完成一篇将把它的链接加上):

1、什么是DeLi Linux? 主要是介绍一下DeLi Linux 的历史、功能、特点等概略性的东西;

2、DeLi Linux 0.8 安装,主要是介绍用硬盘安装的方法安装 DeLi Linux 0.8以及光盘和硬盘安装中的一些注意事项;

3、设置 DeLi Linux,主要是讲怎样设置DeLi Linux 0.8,让它可以上网、可以用上 Xwindows,可以用上鼠标、优盘和声卡等;

4、DeLi Linux 软件安装,讲怎么样安装自己需要的软件,或者用pacman从官方网站安装,或者是把DeLi 0.7.2的软件移植过来,或者是自己从源码编译安装;

5、DeLi Linux 0.8 中文环境配置,主要是讲怎么样在DeLi Linux 0.8下面设置一个舒适的中文环境,如控制台下的:Zhcon + Screen + W3m + Vim 等,X Window 下的Fcitx输入法, Firefox1.5浏览器, Dillo2浏览器及中文字体(如文泉驿)的安装及使用等等;

上面是一个初步的写作计划,其间可能会有变动,如:或者合并,或者再细分。时间上争取一个月内完成吧。

我希望我的日记将会给 Linux 爱好者和使用者,尤其是有老旧电脑的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等等,那么,在将来的操作系统竞争中,谁将更胜一筹?我们拭目以待。。。

定制 wordpress 2.6.1 的侧边栏

前几天,使用wordpress 2.6.1搭了一个英文博客,Learning Diary。因为使用动态加载的Widgets之间我不知道怎样加入自己需要的模块,就干脆使用了一些 WordPress 提供的函数来定制侧边栏,参考资料:WordPress标签手册。这里分享一下我的方法。

1、最新的10篇日记:

<ul>
<?php
$postslist = get_posts('numberposts=10&order=DESC&orderby=date');
foreach ($postslist as $post) :
setup_postdata($post);
?>
<li>
<a href="<?php the_permalink(); ?>" id="post-<?php the_ID(); ?>"><?php the_title(); ?></a>
</li>
<?php endforeach; ?>
</ul>

2、最新的评论:
是使用的Get Recent Comments插件。可在“设置”页面中的“最近评论”页面进行相关参数的设置,在侧边栏里调用代码为:

<ul>
<?php get_recent_comments(); ?>
</ul>

3、Delicious的网摘:
Delicious 的设置页面有一个 "Link Roll" 就是,有一点小技巧,假如你想控制 默认的Delicious书签模块的标题的样式,可以在全局的style.css里侧边栏部分增加一个属性,如下:

#sidebar .delicious-banner a { font: bold 12px Tahoma, Verdana, serif; color: #444; text-shadow: 1px 1px 1px #fff; }

4、分类:

<ul>
<?php wp_list_categories('orderby=name&show_count=0&title_li='); ?>
</ul>

5、最流行的标签:

<ul>
<?php wp_tag_cloud('smallest=8&largest=22$number=10$format=list$orderby=count$order=DESC'); ?>
</ul>

6、归档:

<ul>
<?php wp_get_archives('type=monthly'); ?>
</ul>

7、Blogroll

<ul>
<?php wp_list_bookmarks('title_li=&categorize=0'); ?>
</ul>

也不知道怎样才能在原来动态的Widgets之间加入自己的模块,这样就可以用不着自己在侧边栏里改代码了。

“番茄花园”事件是我们应该给予 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 了。

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