fuse 應用 fuse-utils, sshfs, convmvfs

最後更新: 2021-08-31

目錄

  • fuse-utils
  • fuse 的基本設定
  • sshfs
  • convmvfs: 不同 charset 的掛載

安裝 fuse-utils

 

apt-get install fuse-utils

它會建立 fuse 的用戶組 (GID: 106)

並且透過 udev 去建立所須的裝置檔

ls -al /dev/fuse

crw-rw---- 1 root fuse 10, 229 Apr  6 16:52 /dev/fuse

還有會載入 kernel modules fuse

vzserver:~# lsmod | grep fuse

fuse                   44592  1

 


fuse 的基本設定

 

fuse-utils package 提供以下東西:

  • /etc/fuse.conf
  • /etc/init.d/fuse
  • /usr/bin/fusermount
  • /sbin/mount.fuse

libfuse2 package 提供以下東西:

  • /usr/lib/libfuse.so.*
  • /usr/lib/libulockmgr.*

設定

在 /etc/fuse.conf 有一個幾重要的 defaul  設定

# 可以比 non-root users 用 allow_other / allow_root 的 mount opts

user_allow_other

# maximum number of FUSE mounts allowed to non-root users. The default is 1000.

mount_max = NNN

# 在一般情況下, 如果 A mount 來的目錄, 只有 A 才可存取

# 不過當以上指令(allow_other)生效, A mount 的東西就可以被任何人存取 ~

fusermount:

opts:

  • -u  unmount.
  • -z  lazy unmount

fuse:

[iconv]

    -o from_code=CHARSET   original encoding of file names (default: UTF-8)
    -o to_code=CHARSET      new encoding of the file names (default: UTF-8)

allow_other

allow_root

uid=N  Override the st_uid field set by the filesystem

gid=N  Override the st_gid field set by the filesystem

default_permissions

By default FUSE doesn't check file access permissions.

This  option  enables  permission  checking, restricting  access  based on file mode.

Checking

mount | grep fuse

fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
/dev/fuse on /mnt/vmfs type fuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions)

 


sshfs

 

掛載 ssh:

sshfs root@myserver:/root ~/mnt-myserver

查看是否真的成功

ls mnt-myserver/

umount:

umount /root/mnt

注意:

由於我不是用 fusermount 去 mount 的, 所以不能用 fusermount -u 去 umount

實用選項:

    -o reconnect           reconnect to server
    -o sshfs_sync          synchronous writes
    -o cache_timeout=N     sets timeout for caches in seconds (default: 20)
    -o follow_symlinks     follow symlinks on the server
    -o sftp_server=SERV    path to sftp server or subsystem (default: sftp)

 


convmvfs: 不同 charset 的掛載

 

雖然 convmv 亦可轉碼, 不過萬一出錯就大件事了 .......

事先 preview 一次十分可取 ^^

convmvfs ~/mnt -o srcdir=/home/ftp/tmp/,icharset=big5,ocharset=utf8

常見 charset:

  • big5
  • gbk
  • utf8

 


其他資料

 

 

Creative Commons license icon Creative Commons license icon