FreeBSD下如何访问MS-DOS文件系统

在今天的文章里,我来介绍一下两个来自ports collection的工具,它们用于操作MS-Dos文件系统上的数据 。在mtools中的一套DOS风格的命令行工具可以操作软盘上的MS-DOS数据,你硬盘上的其它分区,Jaz和Zip驱动器 。程序mfm提供了一个漂亮的GUI图形界面以访问软盘上的MS-DOS数据,并可以在你的宿主目录和MS-DOS格式化过的软盘间快速地传送数据 。

这两个工具的优点是可以让用户透明地访问这些数据而无需事先装载文件系统 。如果你还记得装载其它文件系统这篇文章里的内容,那么应该知道只有超级用户可以装载文件系统 。如果你是个管理员或者使用FreeBSD系统的家庭成员,那么不会出现在有人想访问软件数据时抢着装载文件系统的情况 。但是,作为一个新用户,你可能会在取出软件之前忘了卸载文件系统;如果你曾经有这样的经历,你会发现FreeBSD会惊慌,重启或者在你这样做时向你给出讨厌的错误信息 。

所以,让我们还是创建这些工具并查看一下如何使用吧 。要创建它们有两个方法:预编译安装包或移植port 。我会以port方式创建mtools,并以安装包方式安装mfm来示范这两种方法 。先成为超级用户,确保已经联入Internet,并进入mtools的port目录进行编译:

su
PassWord:
cd /usr/ports/emulators/mtools
make && make install
一旦编译完成,打开你最喜爱的web浏览器并联到http://www.freebsd.org/x11-fm.HTML 。往下翻到mfm-1.5,把安装包保存到硬盘上的某个目录中;我已经在系统上建好一个目录/usr/packages用于此目的 。当下载完成后:

cd /usr/packages
pkg_add mfm*
当安装好后,用exit退出超级用户账号 。如果你正在用C shell,请用rehash命令使命令解释器知道有新的程序了 。

让我们来看一下mtools 。如果你键入它的名称,它会给出一份你可以使用的工具列表:

mtools
支持的命令有:mattrib、mbadblocks、mcat、mcd、mcopy、mdel、mdeltree、mdir、mdoctorfat、mdu、 mformat、minfo、mlabel、mmd、mmount、mpartition、mrd、mread、mmove、mren、mshowfat、 mtoolstest、mtype、mwrite、mzip 。

如果你以前曾经用过DOS的话,就会觉得其中有很多程序名很熟悉的;唯一的区别只是它们都是字母m开头 。每个工具都有相关的手册页,所以你可以看一下它们的语法 。手册页的第1和第5部分有mtools本身的信息 。

让我们来看一下如果键入mcd会发生什么:

mcd
A:/
这看起来还不错,因为这是MS-DOS的提示符用来表示你的软驱 。有经验的DOS用户会注意到那个斜杠用Unix风格替代了DOS风格 。现在来看看是否可以用mdir命令查看软盘上的内容:

mdir
fd0c: hard error reading fsbn 0 (No status)
plain_io: Input/output error
init A: could not read boot sector
Cannot initialize "A:"
哦,我太心急了,都忘了在软驱里插张盘了 。幸运的是,mdir会在试图访问盘上数据前作仔细检查的 。好,现在插张盘再试一下:

mdir
Can"t open /dev/rfd0: Permission denIEd
Cannot initialize "A:"
在被权限问题搞得头晕之前,先来检查一下mtools的配置文件看它需要什么 。如果你键入:

man 5 mtools
你将发现配置文件的名称是mtools.conf,而且它位于/usr/local/etc中 。现在看一下谁有该文件的访问权限并更改一下:

ls -l /usr/local/etc
drwxr-xr-x 9 root wheel 1024 Dec 2 11:57 .
-r--r--r-- 1 root wheel 4441 Dec 2 11:50 mtools.conf
看起来任何人都有读此文件,但只有超级用户才能更改内容 。(忘了权限的含义?)让我们先来读一下这个文件:

more /usr/local/etc/mtools.conf

# Example mtools.conf files. Uncomment the lines which correspond to
# your architecture and comment out the "SAMPLE FILE" line below

推荐阅读