我想从一个目录创建一个虚拟设备,即你知道,有像 dropbox 和 co 这样的云存储提供商,他们通常有一个软件客户端,然后让你访问保存在主目录中某个目录中的文件。现在我希望能够将其安装在任何地方并像在设备上一样访问文件,而不是能够访问目录中的文件。如何使用 mknod 创建这样的虚拟设备
编辑1:我想使用 mhddfs 将多个这些设备一起安装在一个目录中(http://romanrm.ru/en/mhddfs) 如果可能的话
编辑2:我正在使用 Ubuntu One 和 Dropbox 进行尝试,我~/virtcld
在我的家中创建并“安装”了两个云目录,如下所示:mhddfs ~/Dropbox/ ~/Ubuntu\ One/ ~/virtcld/ -o allow_other
然后我在我的 virtualcd 中创建了一堆测试文件,time dd if=/dev/zero of=test13.bin bs=1024 count=1000000
但一旦我的 Dropbbox 填满,文件不会开始上传到 ubuntu One 目录......
答案1
鉴于您正在尝试利用多媒体文件系统要创建其他目录的虚拟目录,您似乎应该能够只提供 Dropbox 文件夹的路径作为其参数。
这是上面 URL 中的示例:
$ mhddfs /mnt/hdd1,/mnt/hdd2,/mnt/hdd3 /mnt/virtual -o allow_other
这些目录是已安装的设备,而不是实际的 HDD(/dev/sda1
等)。所以我认为这样的事情会做:
$ mhddfs /path/to/Dropbox1 /path/to/Dropbox2 /mnt/virtDropbox -o allow_other
更新#1
在进行额外研究时,我认为您无法将 Dropbox 与 mhddfs 一起使用。 Dropbox 显然需要文件系统来支持提供硬链接的能力,而 mhddfs 似乎不支持。
[为什么需要此步骤:如果您尝试按照规定的方式安装 Dropbox (http://wiki.dropbox.com/TipsAndTricks/TextBasedLinuxInstall)它会失败。这是因为 BigSB 上的主目录是使用 mhddfs 挂载的。 mhddfs 不支持 Dropbox 需要的硬链接。]
同样的事情也在这里得到了回应Dropbox 论坛 - 在 Linux 上安装问题
但是,在意识到我的服务器提供商已使用 mhddfs 文件系统(不支持硬链接)安装 /home 后,我能够正常工作。在访问底层驱动器后,我能够提取 tarball 并运行 dropbox 就好了