编程是一门艺术

raptor.zh(at)gmail.com Creative Commons License
本作品采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。

archives 存档

01 Jan - 31 Dec 2018
01 Jan - 31 Dec 2017
01 Jan - 31 Dec 2016
01 Jan - 31 Dec 2015
01 Jan - 31 Dec 2014
01 Jan - 31 Dec 2013
01 Jan - 31 Dec 2012
01 Jan - 31 Dec 2011
01 Jan - 31 Dec 2010
01 Jan - 31 Dec 2009
01 Jan - 31 Dec 2008
01 Jan - 31 Dec 2007
01 Jan - 31 Dec 2006
01 Jan - 31 Dec 2005
01 Jan - 31 Dec 2004
01 Jan - 31 Dec 2003
01 Jan - 31 Dec 2002
01 Jan - 31 Dec 2001
01 Jan - 31 Dec 2000
01 Jan - 31 Dec 1999

--

links 链接

--

在FreeBSD上mount Ext4文件系统的移动硬盘

需求

小容量的移动硬盘用FAT文件系统是很方便交流的,但是大容量的移动硬盘就成问题了。Windows有NTFS,Linux用EXT4,MacOSX有HFS+等,FreeBSD当然是ZFS(还有UFS)。

完全没法沟通。

虽然我很喜欢ZFS,它也的确好,但是因为我的桌面是Linux/Mac,鉴于HFS+之类的专用系统太不通用,所以最后决定用EXT4,万一需要用到其它系统时,可以挂到linux下再通过samba共享。

这次因为需要在FreeBSD下COPY一些大文件,所以研究了一下怎么挂到FreeBSD下。

解决

首先是从这篇文章《FreeBSD 10: Mounting USB Drive with ext4 Filesystem》里看到一个解决方案:通过FUSE。

# 安装fuse
pkg install fusefs-ext4fuse
# 加载
kldload fuse.ko

配置 /boot/loader.conf

fusefs_load="YES"

配置 /etc/devfs.rules

[localrules=5]
add path 'da*' mode 0660 group operator

配置 /etc/rc.conf

devfs_system_ruleset="localrules"

配置 /etc/sysctl.conf

vfs.usermount=1

立即启用

sysctl vfs.usermount=1

新建一个用户目录并且mount之

mkdir /home/raptor/mnt
chown raptor:raptor /home/raptor/mnt
mount -t ext4 -o mountprog=/usr/local/bin/ext4fuse,allow_other,late,rw /dev/da0s1 /home/raptor/mnt

最后这句mount方法来自这个贴子:Howto mount ext4 (without FUSE), avoiding wrong permissions,因为按照前文直接用ext4fuse的话,只能用ROOT用户访问,普通用户没有权限。

遗留问题

这样虽然解决了挂载和访问的问题,但是因为fuse对EXT4只提供了只读支持,虽然我已经用mount挂载为rw,但是所有写操作都会报错:

Function not implemented

目前貌似没有解决方案……

推送到[go4pro.org]

Trackback link:

Please enable javascript to generate a trackback url

No trackbacks

评论(0)


 
   
 
  表情图标 

 


提示: 除了 <b> 和 <i> 之外,其他的Html标签都将从您的评论中去除.url或mail地址会被自动加上链接.