2

У меня есть не-root доступ к корпоративной Linux-системе SUSE. Мне нужно использовать 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?

Я пробовал это на версиях предохранителей 2.7.2, 2.8.7.

2 ответа2

1

FUSE - это мост между ядром и файловой системой пользовательского режима. Для ядра каждый экземпляр FUSE представляет собой обычную файловую систему. Для файловой системы пользовательского режима это просто интерфейс в стиле C на уровне пользователя с обратными вызовами. Очевидно, что для распознавания ядром файловой системы должен быть загружен модуль ядра. Таким образом, даже если вам удастся установить как пользователь, без рут-прав вы все равно застряли. Сожалею.

0

Проверьте, есть ли у вас необходимые права, и спросите владельца каталога fuse ctl:

ls -ld /sys/fs/fuse/connections

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .