温馨提示×

centos怎么制作appimage包

小樊
37
2026-10-17 13:41:35
栏目: 智能运维

在 CentOS 上制作 AppImage 包,核心思路是:
把程序 + 依赖库 + 启动脚本打包成一个可执行的 AppImage 文件。

下面从「准备工作 → 打包 → 测试」一步步说明。


一、环境准备(CentOS)

1. 安装基础工具

sudo yum install -y gcc-c++ make fuse file

2. 安装 AppImage 工具

常用工具是 linuxdeploy 或 appimagetool

方式一:使用 appimagetool(推荐)

wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage
chmod +x appimagetool-x86_64.AppImage
sudo mv appimagetool-x86_64.AppImage /usr/local/bin/appimagetool

方式二:使用 linuxdeploy(更智能)

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

二、准备程序目录结构

假设你要打包的程序叫 myapp

myapp.AppDir/
├── AppRun
├── myapp.desktop
├── myapp.png
└── usr/
    └── bin/
        └── myapp

1. 创建目录

mkdir -p myapp.AppDir/usr/bin

2. 放入可执行文件

cp /path/to/myapp myapp.AppDir/usr/bin/

三、编写必要文件

1. AppRun(启动脚本)

nano myapp.AppDir/AppRun

内容示例:

#!/bin/bash
HERE="$(dirname "$(readlink -f "${0}")")"
exec "$HERE/usr/bin/myapp" "$@"
chmod +x myapp.AppDir/AppRun

2. desktop 文件

nano myapp.AppDir/myapp.desktop

内容:

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

3. 图标(可选但推荐)

cp myapp.png myapp.AppDir/

四、打包 AppImage

方法一:使用 appimagetool

appimagetool myapp.AppDir

生成:

myapp-x86_64.AppImage

方法二:使用 linuxdeploy(自动找依赖)

./linuxdeploy-x86_64.AppImage \
  --appdir myapp.AppDir \
  --output appimage

✅ 优点:自动复制 .so 依赖


五、测试 AppImage

chmod +x myapp-x86_64.AppImage
./myapp-x86_64.AppImage

如果在 CentOS 上运行提示:

fuse: device not found

安装 fuse:

sudo yum install fuse
sudo modprobe fuse

六、常见问题

1. CentOS 库太老导致兼容性问题

✅ 建议在 CentOS 7 或 旧版本 Ubuntu 打包
✅ 避免 glibc 版本过高

2. 依赖不全

使用:

ldd usr/bin/myapp

查看缺失库


七、总结流程

准备程序
→ 组织 AppDir
→ 写 AppRun / desktop
→ linuxdeploy 或 appimagetool
→ 生成 AppImage

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

  • 是 C/C++ / Python / Qt / Java 程序?
  • CentOS 版本(7 / 8 / Stream)?

我可以直接给你针对性打包示例。

0 踩