Fuse: различия между версиями

Материал из ALT Linux Wiki
мНет описания правки
 
(не показано 6 промежуточных версий этого же участника)
Строка 1: Строка 1:
'''[https://www.kernel.org/doc/html/latest/filesystems/fuse.html FUSE]''' (англ. '''Filesystem in Userspace''' — файловая система в пользовательском пространстве) — это фреймворк для создания и использования собственных файловых систем, а также их безопасного и непривилегированного монтирования. '''FUSE''' состоит из модуля ядра (<code>fuse.ko</code>), библиотеки пользовательского пространства (<code>libfuse.*</code>) и утилиты монтирования ({{cmd|fusermount}}).
'''[https://www.kernel.org/doc/html/latest/filesystems/fuse.html FUSE]''' (англ. '''Filesystem in Userspace''' — файловая система в пользовательском пространстве) — это фреймворк для создания и использования собственных файловых систем, а также их безопасного и непривилегированного монтирования. '''FUSE''' состоит из модуля ядра (<code>fuse.ko</code>), библиотеки пользовательского пространства (<code>libfuse.*</code> в составе пакета '''{{pkg|libfuse}}''') и утилиты монтирования ({{cmd|fusermount}} в составе пакета '''{{pkg|fuse}}''').


'''FUSE''' используется при работе приложений '''[[Flatpak]]''' и '''[[Appimage]]'''.
'''FUSE''' используется при работе приложений '''[[Flatpak]]''' и '''[[Appimage]]'''.


{{Note|Приведенная ниже информация по большей части относится к '''fuse''' версии '''2'''. В дистрибутивы Альт также может быть включена версия '''fuse3''' и утилита монтирования {{cmd|fusermount3}}.}}
{{Note|Приведенная ниже информация по большей части относится к '''fuse''' версии '''2'''. В дистрибутивы Альт также может быть включен пакет '''fuse3''' и утилита монтирования {{cmd|fusermount3}}.}}


__TOC__
__TOC__
==Проверка работы FUSE==
==Проверка работы FUSE==
Модуль '''FUSE''' поставляется в составе пакета ядра и, скорее всего, уже установлен в вашей системе Альт.
Модуль ядра '''fuse''' поставляется в составе пакета ядра и, скорее всего, уже установлен в вашей системе Альт.


Для проверки работы '''FUSE''' от имени '''обычного пользователя''' убедитесь в наличии установленной '''утилиты монтирования''' {{cmd|fusermount}}:
У пользователя должен быть доступ к утилите {{cmd|fusermount}} из пакета '''{{pkg|fuse}}''' (обычно устанавливается в систему по умолчанию).
 
Для проверки работы '''FUSE''' от имени '''обычного пользователя''', убедитесь в доступности утилиты монтирования {{cmd|fusermount}}:


  fusermount -V
  fusermount -V
Строка 16: Строка 18:


  fusermount version: 2.9.9
  fusermount version: 2.9.9
Проверьте, что '''ваш пользователь''' состоит в группе '''fuse''':
groups имя_пользователя
Например:
user1 : user1 wheel uucp proc cdrom floppy '''fuse''' cdwriter audio radio users scanner xgrp video camera


Если все требования выполнены, у вашего пользователя должен быть доступ к {{cmd|fusermount}} и использованию приложений '''[[Flatpak]]''' и '''[[Appimage]]'''.
Если все требования выполнены, у вашего пользователя должен быть доступ к {{cmd|fusermount}} и использованию приложений '''[[Flatpak]]''' и '''[[Appimage]]'''.
Строка 39: Строка 33:
  rpm -qa *fuse*
  rpm -qa *fuse*


При отсутствии установленного пакета '''{{pkg|fuse-2xx}}''' и ошибок в работе {{cmd|fusermount}} и '''Appimage''' см. раздел [[#Решение проблем | Решение проблем]]
При отсутствии пакета '''{{pkg|fuse}}''' версии '''2''' могут быть ошибки в работе '''AppImage''' (см. раздел [[#Решение проблем | Решение проблем]]), нужно доустановить пакеты:


Проверьте работу '''модуля fuse''':
  apt-get update && apt-get install fuse libfuse


  lsmod | grep fuse
Проверьте, что '''ваш пользователь''' состоит в группе '''fuse''':
 
groups имя_пользователя
 
Например:
 
  user1 : user1 wheel uucp proc cdrom floppy '''fuse''' cdwriter audio radio users scanner xgrp video camera


Если нужно, '''добавьте''' вашего пользователя в группу '''fuse''':
Если нужно, '''добавьте''' вашего пользователя в группу '''fuse''':
Строка 49: Строка 49:
  usermod -aG fuse имя_пользователя
  usermod -aG fuse имя_пользователя


Предоставьте доступ к {{cmd|fusermount}} с помощью механизма {{cmd|control}} для всех пользователей:
Предоставьте доступ к {{cmd|fusermount}} с помощью механизма {{cmd|control}}:
 
control fusermount fuseonly
 
Или, что менее безопасно:


  control fusermount public
  control fusermount public


Выйдите из сеанса суперпользователя '''root''' и обычного пользователя, и '''перезайдите в систему'''. Теперь у вашего пользователя должен появиться доступ к {{cmd|fusermount}} и использованию приложений '''[[Flatpak]]''' и '''[[Appimage]]'''.
Выйдите из сеанса суперпользователя '''root''' и своего пользователя, и '''перезайдите в систему'''. Теперь у вашего пользователя должен появиться доступ к {{cmd|fusermount}} и использованию приложений '''[[Flatpak]]''' и '''[[Appimage]]'''.


==Решение проблем==
==Решение проблем==
Во время работы с '''fuse''', например '''[[Appimage]]''', могут возникать ошибки общего вида:
Во время работы с '''FUSE''', например '''[[Appimage]]''', могут возникать ошибки вида:


  '''Cannot mount AppImage, please check your FUSE setup'''
  '''Cannot mount AppImage, please check your FUSE setup'''


Ниже приведен более детальный разбор этих ошибок.
В этом случае следует запустить файл '''[[Appimage]]''' в терминале и посмотреть детальный вывод ошибки.
===Ошибка: fuse: failed to exec fusermount===
===Ошибка: fuse: failed to exec fusermount===
При использовании '''AppImage''' с '''fuse3''' может возникнуть ошибка:
При использовании '''AppImage''' с '''fuse3''' может возникнуть ошибка:
Строка 68: Строка 72:
  Cannot mount AppImage, please check your FUSE setup.
  Cannot mount AppImage, please check your FUSE setup.


Ошибка может появиться из-за отсутствия в пакете '''{{pkg|fuse3}}''' утилиты монтирования {{cmd|fusermount}} (относится к пакету '''{{pkg|fuse-2xx}}''') ({{altbug|52316}}).
Ошибка может появиться из-за отсутствия в пакете '''{{pkg|fuse3}}''' утилиты монтирования {{cmd|fusermount}} (относится к пакету '''{{pkg|fuse}}''' версии '''2''', {{altbug|52316}}).


Для решения проблемы можно доустановить пакет '''{{pkg|fuse-2xx}}''':
Для решения проблемы нужно доустановить пакет '''{{pkg|fuse}}''' версии '''2''':


  su -
  su -
  apt-get update && apt-get install fuse
  apt-get update && apt-get install fuse libfuse


[[Категория:HOWTO]]
[[Категория:HOWTO]]

Текущая версия от 17:53, 11 января 2025

FUSE (англ. Filesystem in Userspace — файловая система в пользовательском пространстве) — это фреймворк для создания и использования собственных файловых систем, а также их безопасного и непривилегированного монтирования. FUSE состоит из модуля ядра (fuse.ko), библиотеки пользовательского пространства (libfuse.* в составе пакета libfuse) и утилиты монтирования (fusermount в составе пакета fuse).

FUSE используется при работе приложений Flatpak и Appimage.

Примечание: Приведенная ниже информация по большей части относится к fuse версии 2. В дистрибутивы Альт также может быть включен пакет fuse3 и утилита монтирования fusermount3.


Проверка работы FUSE

Модуль ядра fuse поставляется в составе пакета ядра и, скорее всего, уже установлен в вашей системе Альт.

У пользователя должен быть доступ к утилите fusermount из пакета fuse (обычно устанавливается в систему по умолчанию).

Для проверки работы FUSE от имени обычного пользователя, убедитесь в доступности утилиты монтирования fusermount:

fusermount -V

Должна быть выведена информация об установленной версии fusermount:

fusermount version: 2.9.9

Если все требования выполнены, у вашего пользователя должен быть доступ к fusermount и использованию приложений Flatpak и Appimage.

Настройка FUSE

Если на предыдущем этапе возникли проблемы, то нужно настроить FUSE. Для этого зайдите от имени root:

su -

Все дальнейшие команды вводятся от имени суперпользователя root.

Посмотрите установленные пакеты fuse с помощью команды:

rpm -qa *fuse*

При отсутствии пакета fuse версии 2 могут быть ошибки в работе AppImage (см. раздел Решение проблем), нужно доустановить пакеты:

 apt-get update && apt-get install fuse libfuse

Проверьте, что ваш пользователь состоит в группе fuse:

groups имя_пользователя

Например:

user1 : user1 wheel uucp proc cdrom floppy fuse cdwriter audio radio users scanner xgrp video camera

Если нужно, добавьте вашего пользователя в группу fuse:

usermod -aG fuse имя_пользователя

Предоставьте доступ к fusermount с помощью механизма control:

control fusermount fuseonly

Или, что менее безопасно:

control fusermount public

Выйдите из сеанса суперпользователя root и своего пользователя, и перезайдите в систему. Теперь у вашего пользователя должен появиться доступ к fusermount и использованию приложений Flatpak и Appimage.

Решение проблем

Во время работы с FUSE, например Appimage, могут возникать ошибки вида:

Cannot mount AppImage, please check your FUSE setup

В этом случае следует запустить файл Appimage в терминале и посмотреть детальный вывод ошибки.

Ошибка: fuse: failed to exec fusermount

При использовании AppImage с fuse3 может возникнуть ошибка:

fuse: failed to exec fusermount: No such file or directory

Cannot mount AppImage, please check your FUSE setup.

Ошибка может появиться из-за отсутствия в пакете fuse3 утилиты монтирования fusermount (относится к пакету fuse версии 2, altbug #52316).

Для решения проблемы нужно доустановить пакет fuse версии 2:

su -
apt-get update && apt-get install fuse libfuse