Acorn 磁盘文件系统 - ADFS¶
ADFS 支持的文件系统¶
ADFS 模块支持以下具有
新映射
新目录或大目录的 Filecore 格式
就命名格式而言,这意味着我们支持
E 和 E+,带或不带引导块
F 和 F+
我们完全支持从这些文件系统中读取文件,以及写入其现有分配中的现有文件。本质上,我们不支持更改任何文件系统元数据。
这旨在支持在 RISC OS Filecore 文件系统上回环挂载 Linux 本地文件系统,但允许更改文件中的数据。
如果配置了写入支持 (ADFS_FS_RW),我们将允许基本的目录更新,特别是更新访问模式和时间戳。
ADFS 的挂载选项¶
uid=nnn
分区中的所有文件都将由用户 ID nnn 拥有。默认值为 0(root)。
gid=nnn
分区中的所有文件都将属于组 nnn。默认值为 0(root)。
ownmask=nnn
ADFS “所有者”权限的权限掩码将为 nnn。默认值为 0700。
othmask=nnn
ADFS “其他”权限的权限掩码将为 nnn。默认值为 0077。
ftsuffix=n
当 ftsuffix=0 时,不应用文件类型后缀。当 ftsuffix=1 时,将添加与 RISC OS 文件类型对应的十六进制后缀。默认值为 0。
ADFS 权限到 Linux 权限的映射¶
ADFS 权限包括以下内容
所有者读取
所有者写入
其他读取
其他写入
(在旧版本中,确实存在“执行”权限,但这与 Linux “执行”权限的含义不同,现在已过时)。
映射执行如下
Owner read -> -r--r--r-- Owner write -> --w--w---w Owner read and filetype UnixExec -> ---x--x--x These are then masked by ownmask, eg 700 -> -rwx------ Possible owner mode permissions -> -rwx------ Other read -> -r--r--r-- Other write -> --w--w--w- Other read and filetype UnixExec -> ---x--x--x These are then masked by othmask, eg 077 -> ----rwxrwx Possible other mode permissions -> ----rwxrwx因此,使用默认掩码,如果文件是所有者读/写,而不是 UnixExec 文件类型,则权限将为
-rw-------但是,如果掩码为 ownmask=0770,othmask=0007,则这将修改为
-rw-rw----对这些掩码的使用没有任何限制。您可能希望任何读取位都允许所有人读取文件,但保留默认写入保护 (ownmask=0755,othmask=0577)
-rw-r--r--因此,您可以根据需要在 Linux 下的权限对权限转换进行定制。
RISC OS 文件类型后缀¶
RISC OS 文件类型存储在文件加载地址的位 19..8 中。
为了使非 RISC OS 系统能够在不丢失文件类型信息的情况下用于存储文件,设计了一种文件命名约定(最初用于 NFS),其中形式为 ,xyz 的十六进制后缀表示文件类型:例如,BasicFile,ffb 是一个 BASIC (0xffb) 文件。现在,RISC OS 模拟器(如 RPCEmu)也使用此命名约定。
使用选项 ftsuffix=1 挂载 ADFS 磁盘会将适当的文件类型后缀附加到从目录读取的文件名。如果 ftsuffix 选项为零或省略,则不会添加文件类型后缀。