文件系统布局
Zaurus 上的文件系统有点奇怪。CF 卡会被自动挂载到 /mnt/usr.rom/cf 上,而 SD/MMC 卡则会被自动挂载到 /mnt/usr.rom/sd 上。令人惊讶的是,/etc 是一个到 /home/etc 的链接。只有在您意识到备份只需要备份 /home 目录就可以时,这才显得非常有意义;这样 /etc 也就备份了。
/ 和 /home 文件系统都被存储到闪存上,它被划分成了两个分区。/ 文件系统几乎都已经满了,这对于扩展软件是一个限制 —— 不过有很多文件都不需要放到这儿。
根文件系统有一些魔力;其中包含的文件所占用的空间要比根文件系统本身的空间更大!这是通过使用 JFFS2(Journaling Flash File System version 2)实现的,它会对所存储的数据进行压缩;这 21,544 个存储块可以容纳大约 60,000 个文件块。
似乎删除一些文件可以释放一些空间。例如 bash。bash 包含了很多东西,但是它并没有节省空间的模式;一个 548KB 程序对于非常拥挤的根文件系统来说并不是什么好事。
更为有趣的是,/root 目录中包含了一些关键的 tar 文件,在恢复系统时需要使用这些文件。这些 tar 文件都没有进行压缩;对这些文件进行压缩就可以释放一些空间(不过能节省的空间并没有您想象的那样多,因为 JFFS2 会自动对这些文件进行压缩。)
帐号管理
与那些完全忽略帐号、全部使用 root 用户身份运行程序的系统不同,Zaurus 系统则会以 root 用户身份运行一部分程序(包括 GUI 本身),而以另外一个用户 zaurus 的身份来运行大部分程序。当然,在不为 root 用户使用密码时,这样做能够确保影响最小。
Zaurus 上并不能真正支持用户的登录和登出;您不能指定自己希望使用哪个用户的身份来运行程序。当然,在 PDA 上并没有太多理由来这样做。另外,能将 user/admin 分离开来是个不错的想法,在实际的 Linux 机器上就是这样使用的,这样 Zaurus 就可以运行服务了。如果您觉得这听起来似乎没什么用处,那么显然是没有这样的经历:把 PDA 忘在家里了,它碰巧正在插着电源,而您却没有办法可以获得自己的地址本。如果它运行了一个 ssh 服务器就好了!
添加用户的功能并不支持,有些用户报告说在使用过程中出现文件系统崩溃的情况;例如,在运行 adduser 程序时,将 root 所有的文件设置成新用户所有。
结束语和展望
早期的 Zaurus 暗中有一些尚未完成的特性;有很多问题需要修正,这需要更多的开发时间,或者需要对设计权衡进行更多讨论。
尽管 Sharp 对于修正 ROM 的开发是有限的,但是有一些第三方的公司已经开发了很多插入式替换方案。其中的一个项目是 Opie(Open Palmtop Integrated Environment;请参阅 参考资料),它可以支持其他非 Zaurus 硬件(例如 HP iPaq 手持设备)已经有很长时间了。
在下一篇 Linux 的魅力 的文章中,我们将更详细地了解 Opie 目前已经发展到了什么程度(以 Familiar 项目的形式;请参阅 参考资料)。这个项目中已经开展的开发工作从用户使用 Zaurus 这种旧系统的经验中汲取了很多灵感。这是 Linux 所实现的最好功能;它提供了一个开放的环境,人们可以从中学习经验,而不用从头开始闭门造车。
我们记住了历史,这样就不会重复历史了。如果您正在从事自己的手持式项目的工作,那么就请记住 Zaurus SL-5600 是非常值得仿效的一个实现,也是一个值得在此基础上进行改进的实现。