AppImages需要FUSE版本2才能运行

AppImages需要FUSE版本2才能运行。用户空间中的文件系统(FUSE)是一个允许非root用户挂载文件系统的系统。

安装FUSE


许多发行版都有开箱即用的FUSE设置。但是,如果它不适合您,您可能需要手动安装和配置FUSE。

例如,在Ubuntu(>=22.04)上:

sudo add-apt-repository universe
sudo apt install libfuse2

警告:虽然libfuse2可以,但从22.04开始libfuse2不要安装该软件包,否则可能会破坏您的系统fuse

例如,在Ubuntu(>=22.04)上:

sudo apt install fuse libfuse2
sudo modprobe fuse
sudo groupadd fuse

user="$(whoami)"
sudo usermod -a -G fuse $user

例如,在openSUSE上:

sudo zypper install fuse libfuse2

为了fusermount在OpenSUSE上使用默认(?)“安全”文件权限设置(请参阅 参考资料/etc/permissions.secure),您的登录名需要是该trusted组的一部分。要添加您自己,请运行

sudo usermod -a -G trusted `whoami`

然后注销并登陆以使更改生效。

例如,在Fedora上:

dnf install fuse fuse-libs

例如,在Centos/RHEL上:

yum --enablerepo=epel -y install fuse-sshfs #install from EPEL
user="$(whoami)"
usermod -a -G fuse "$user"

例如,在Armbian 64位系统上(例如,对于Pine64),您需要安装32位libfuse2

才能运行32位AppImage,例如MuseScore之一:

sudo apt install libfuse2:armhr

例如,在Clear Linux操作系统上:

这可能是一个错误,请参阅Enable FUSE by default · Issue #273 · clearlinux/distribution · GitHub

sudo su
mkdir -p /etc/modules-load.d/
echo "fuse" > /etc/modules-load.d/fuse.conf
reboot

例如,在Arch Linux上:

如果您看到“fusermount:安装失败:不允许操作”

sudo chmod u+s `which fusermount`

Chrome 操作系统、Chromium 操作系统、Crostini:
FUSE 不能开箱即用,但在版本 73 之后安装很简单:
 

sudo apt install fuse

检查https://bugs.chromium.org/p/chromium/issues/detail?id=841787了解详细信息

Fallback

如果您不想安装 FUSE,则可以挂载或提取 AppImage。

类型 2 AppImage
要提取 AppImage 的内容,只需使用 运行 AppImage 即可--appimage-extract。

type-1 AppImage
如果上述方法不起作用,您可能仍然拥有较旧的 type-1 AppImage。要安装 AppImage 并运行应用程序,只需运行
 

sudo mount -o loop Some.AppImage /mnt
/mnt/AppRun
cd AppDir
bsdtar xfp /home/me/Downloads/Some.AppImage
./AppRun

也有效。

Docker

从 Docker 容器运行 AppImage 时,您将收到以下错误:
 

fuse: failed to open /dev/fuse: Operation not permitted
Could not mount AppImage
Please see https://github.com/probonopd/AppImageKit/wiki/FUSE

您经常会听到“哦,只需添加这些参数就docker run --cap-add SYS_ADMIN --cap-add MKNOD --device /dev/fuse:mrw可以了”,但这被认为是不安全的。
 

[...]
./appimagetool-*.AppImage --appimage-extract-and-run ...
[...]

您还可以appimagetool使用export APPIMAGE_EXTRACT_AND_RUN=1

注意:可以从发行版本 9appimagetool-*.AppImage开始提取

如果您想根据是否在容器中(例如在构建脚本中)来决定是直接使用 AppImage 还是提取 AppImage,您可以将其与一些检测代码结合起来。

更多故障排除信息I get some errors related to something called “FUSE” — AppImage documentation

Virtual x86上,您必须从 .deb 文件获取 .so 文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux中的FUSE(Filesystem in Userspace)是一个允许用户自定义文件系统的接口,它将文件系统的实现放在了用户空间中。FUSE的核心代码包括fuse_kern_chan_send、fuse_kern_chan_receive和fuse_ll_process等函数。fuse_kern_chan_send函数用于向fuse_chan发送数据,而fuse_kern_chan_receive函数用于从fuse_chan接收数据。fuse_ll_process函数则是处理从文件系统收到的请求。 通过使用FUSE接口,用户可以在Linux系统中创建自定义的文件系统,从而实现对特定需求的定制化。用户可以使用FUSE提供的API来实现文件系统的各种操作,包括文件读写、目录遍历、权限控制等等。FUSE将用户空间中的操作映射到内核空间中的文件系统,使得用户可以通过常规的系统调用来访问和操作这个文件系统。 总结起来,Linux中的FUSE是一个允许用户自定义文件系统的接口,通过fuse_kern_chan_send、fuse_kern_chan_receive和fuse_ll_process等函数,用户可以在用户空间中实现自己的文件系统,并通过常规的系统调用进行访问和操作。这为用户带来了更大的灵活性和可定制性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [linux fuse 阻塞,FUSE原理总结](https://blog.csdn.net/weixin_30356433/article/details/116964336)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值