温馨提示×

centos下appimage如何打包

小樊
39
2026-10-02 23:49:18
栏目: 智能运维

在 CentOS 下打包 AppImage,通常有两种常见思路:

  1. 在 CentOS 上直接构建 AppImage(推荐用于 CentOS 环境)
  2. 用 linuxdeploy / appimage-builder(跨发行版更通用)

下面按「最实用、最容易成功」的方式一步步说明。


一、准备环境(CentOS 7/8 通用)

1. 安装依赖

sudo yum install -y fuse fuse-libs zlib glibc

如果是 CentOS 8:

sudo dnf install -y fuse fuse-libs

注意:AppImage 运行时需要 fuse,但打包时不一定必须


2. 下载 AppImage 工具

方式 A:linuxdeploy(最常用)

wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
chmod +x linuxdeploy-x86_64.AppImage

方式 B:appimage-builder(更现代,但依赖多)

pip3 install appimage-builder

二、最简单方式:用 linuxdeploy 打包

1. 准备目录结构

MyApp/
├── usr/
│   ├── bin/
│   │   └── myapp
│   └── share/
│       ├── applications/
│       │   └── myapp.desktop
│       └── icons/
│           └── hicolor/256x256/apps/myapp.png

2. 编写 .desktop

[Desktop Entry]
Name=MyApp
Exec=myapp
Icon=myapp
Type=Application
Categories=Utility;

3. 执行打包

./linuxdeploy-x86_64.AppImage \
  --appdir MyApp \
  --output appimage

生成:

MyApp-x86_64.AppImage

三、如果是自己编译的程序(C/C++/Go)

1. 静态或动态链接都行

gcc main.c -o myapp
cp myapp MyApp/usr/bin/

2. 自动收集依赖

./linuxdeploy-x86_64.AppImage \
  --appdir MyApp \
  --executable MyApp/usr/bin/myapp \
  --output appimage

四、使用 appimage-builder(推荐新手)

1. 生成配置

appimage-builder --generate

按提示选择:

  • 可执行文件
  • 桌面文件
  • 图标

2. 打包

appimage-builder --recipe AppImageBuilder.yml

五、CentOS 常见问题

1. GLIBC 版本过高

CentOS 7 默认 glibc 2.17
如果你在 CentOS 8/Stream 打包,可能在 CentOS 7 上无法运行

✅ 解决方案:

  • 在 CentOS 7 上打包
  • 或用 Docker:
docker run -it centos:7 bash

2. FUSE 报错

运行 AppImage 时:

fuse: device not found

解决:

sudo modprobe fuse

或:

./xxx.AppImage --appimage-extract

六、推荐总结

场景 推荐方式
简单程序 linuxdeploy
复杂依赖 appimage-builder
兼容老系统 CentOS 7 + linuxdeploy
CI 打包 Docker + linuxdeploy

如果你愿意,可以告诉我:

  • 你是 CentOS 几
  • 程序是 什么语言
  • 是否有 GUI / 依赖库

我可以直接给你一套可用命令模板。

0 踩