У меня есть не-root доступ к системе SUSE enterprise linux. Мне нужно использовать FUSE, но библиотеки FUSE на нем не установлены (хотя сам fuse на нем установлен). Поэтому я пытаюсь установить fuse в свой домашний каталог.
Я указал префикс dir в своей команде 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 по какой-то причине. Я даже пытался вручную изменить путь переменной MOUNT_FUSE_PATH в Makefile (он был установлен в /sbin), но ошибка осталась. Это из-за FUSEимеетдля установки с правами root?
Я пробовал это на версиях Fuse 2.7.2, 2.8.7.
решение1
FUSE — это мост между ядром и файловой системой пользовательского режима. Для ядра каждый экземпляр FUSE — это обычная файловая система. Для файловой системы пользовательского режима — это просто интерфейс в стиле C пользовательского уровня с обратными вызовами. Очевидно, чтобы ядро распознало файловую систему, необходимо загрузить модуль ядра. Поэтому, даже если вам удастся установить ее как пользователя, без прав root вы все равно застрянете. Извините.
решение2
Проверьте наличие у вас необходимых прав и обратитесь к владельцу каталога fuse ctl:
ls -ld /sys/fs/fuse/connections