我对 SUSE 企业 Linux 系统具有非 root 访问权限。我需要使用 FUSE,但该系统上未安装 FUSE 库(尽管安装了 fuse 本身)。因此,我尝试在我的主目录中安装 fuse。
我已经在 configure 命令上指定了前缀目录,但make install
由于以下原因失败:
libtool: install: /usr/bin/install -c fusermount /home/gabriel/opt/fuse-2.8.7/installation/bin/fusermount
libtool: install: /usr/bin/install -c ulockmgr_server /home/gabriel/opt/fuse-2.8.7/installation/bin/ulockmgr_server
/bin/mkdir -p /sbin
/usr/bin/install -c ./mount.fuse /sbin/mount.fuse
/usr/bin/install: cannot remove '/sbin/mount.fuse': Permission denied
make[2]: *** [install-exec-local] Error 1
如您所见,它出于某种原因尝试将 mount.fuse 安装到 /sbin。我甚至尝试手动更改 Makefile 中变量 MOUNT_FUSE_PATH 的路径(它被设置为 /sbin),但错误仍然存在。是不是因为 FUSE有以 root 身份安装?
我已经在保险丝版本 2.7.2、2.8.7 上尝试过这一点。
答案1
FUSE 是内核和用户模式文件系统之间的桥梁。对于内核,每个 FUSE 实例都是一个常规文件系统。对于用户模式文件系统,它只是一个带有回调的用户级 C 风格接口。显然,要被内核识别为文件系统,必须加载内核模块。因此,即使您设法以用户身份安装,如果没有 root 权限,您仍然会陷入困境。抱歉。
答案2
检查您是否具有必要的权限,并询问 fuse ctl 目录的所有者:
ls -ld /sys/fs/fuse/connections