要想打包 AppImage 分3步走

  1. 生成 AppDir
  2. 拷贝资源及依赖文件
  3. 生成 AppImage

准备工作

下载打包工具 linuxdeploy appimagetool

下载/解压 好要打包的程序,这里用 Clash for Windows 做例子

样例目录
 ❯ tree
.
├── appimagetool-x86_64.AppImage
├── Clash.for.Windows-0.20.28-x64-linux.tar.gz
├── Clash_for_Windows-x86_64
│   ├── cfw
│   ├── cfw.png
│   ├── chrome_100_percent.pak
│   ├── chrome_200_percent.pak
│   ├── chrome_crashpad_handler
│   ├── chrome-sandbox
│   ├── icudtl.dat
│   ├── libEGL.so
│   ├── libffmpeg.so
│   ├── libGLESv2.so
│   ├── libvk_swiftshader.so
│   ├── libvulkan.so.1
│   ├── LICENSE.electron.txt
│   ├── LICENSES.chromium.html
│   ├── locales
│   │   ├── af.pak
│   │   ├── am.pak
│   │   ├── ar.pak
│   │   ├── bg.pak
│   │   ├── bn.pak
│   │   ├── ca.pak
│   │   ├── cs.pak
│   │   ├── da.pak
│   │   ├── de.pak
│   │   ├── el.pak
│   │   ├── en-GB.pak
│   │   ├── en-US.pak
│   │   ├── es-419.pak
│   │   ├── es.pak
│   │   ├── et.pak
│   │   ├── fa.pak
│   │   ├── fil.pak
│   │   ├── fi.pak
│   │   ├── fr.pak
│   │   ├── gu.pak
│   │   ├── he.pak
│   │   ├── hi.pak
│   │   ├── hr.pak
│   │   ├── hu.pak
│   │   ├── id.pak
│   │   ├── it.pak
│   │   ├── ja.pak
│   │   ├── kn.pak
│   │   ├── ko.pak
│   │   ├── lt.pak
│   │   ├── lv.pak
│   │   ├── ml.pak
│   │   ├── mr.pak
│   │   ├── ms.pak
│   │   ├── nb.pak
│   │   ├── nl.pak
│   │   ├── pl.pak
│   │   ├── pt-BR.pak
│   │   ├── pt-PT.pak
│   │   ├── ro.pak
│   │   ├── ru.pak
│   │   ├── sk.pak
│   │   ├── sl.pak
│   │   ├── sr.pak
│   │   ├── sv.pak
│   │   ├── sw.pak
│   │   ├── ta.pak
│   │   ├── te.pak
│   │   ├── th.pak
│   │   ├── tr.pak
│   │   ├── uk.pak
│   │   ├── ur.pak
│   │   ├── vi.pak
│   │   ├── zh-CN.pak
│   │   └── zh-TW.pak
│   ├── resources
│   │   ├── app.asar
│   │   └── static
│   │   └── files
│   │   ├── default
│   │   │   └── Country.mmdb
│   │   └── linux
│   │   └── x64
│   │   ├── clash-linux
│   │   ├── clash-linux.sign
│   │   └── service
│   │   └── clash-core-service
│   ├── resources.pak
│   ├── snapshot_blob.bin
│   ├── v8_context_snapshot.bin
│   └── vk_swiftshader_icd.json
├── linuxdeploy-x86_64.AppImage

生成AppDir

手动生成是比较麻烦的,所以有了 linuxdeploy 这个工具

生成时需要指定好 可执行文件路径 图标路径

 ./linuxdeploy-x86_64.AppImage --appdir=软件名字.AppDir -e "可执行文件路径" --create-desktop-file --icon-file=图标路径

例子:  ./linuxdeploy-x86_64.AppImage --appdir=Clash_for_Windows-x86_64.AppDir -e "Clash_for_Windows-x86_64/cfw" --create-desktop-file --icon-file=Clash_for_Windows-x86_64/cfw.png

拷贝资源及依赖文件

因为 linuxdeploy 是不会帮你拷贝拷贝资源及依赖文件的,只会帮你把可执行文件考进去(虽然有一个 -l 但是不方便 )

cp -r ./解压出来的软件目录/* ./软件名字.AppDir/usr/bin/

例子: cp -r ./Clash_for_Windows-x86_64/* ./Clash_for_Windows-x86_64.AppDir/usr/bin/

生成 AppImage

 ./appimagetool-x86_64.AppImage ./软件名字.AppDir

.tar.gz 软件压缩包打包 AppImage 指南的更多相关文章

  1. linux处理U盘中的资料-挂载-tar.gz软件安装-linux环境下软件的安装方式

    1. U盘插入linux一般会有以下反映 (1)/dev 的目录下,多出一个sdb的磁盘. 因为:目前系统中有两个硬盘, sda是原来的系统磁盘.sdb是插入的U盘. 其中:sdb1表示sdbU盘的一 ...

  2. dubbo框架的web端(war)和server端(tar.gz)结合jenkins打包方式

    一.web端程序,打包成war包 jenkins配置 1.项目名称,旧文件处理配置 2.参数构建配置 3.源码库配置 4.打包文件pom.xml配置及多环境打包传参,此处传参qa(表示打测试环境包,名 ...

  3. 通过maven-assembly-plugin将Springboot项目打包成tar.gz压缩包,在Linux环境可执行脚本直接安装成系统服务

    1.在pom.xml中添加maven-assembly-plugin依赖,同时需将默认生成的spring-boot-maven-plugin依赖删除,否则最终打出的发行包启动会有问题 <plug ...

  4. Linux下tar bz gz等压缩包的压缩和解压【转】

    Linux下用户经常需要备份计算机系统中的数据,为了节省存储空间,常常将备份文件进行压缩,本文是对压缩和解压命令的大致总结 .tar.gz  解压:tar zxvf FileName.tar.gz  ...

  5. Linux下tar bz gz等压缩包的压缩和解压

    Linux下用户经常需要备份计算机系统中的数据,为了节省存储空间,常常将备份文件进行压缩,本文是对压缩和解压命令的大致总结 .tar.gz  解压:tar zxvf FileName.tar.gz  ...

  6. Windows下将文件打包压缩成 .tar.gz格式

    1.下载 “7-ZIP”,安装完成后进入需要打包的文件夹 2. 右击选择“添加到压缩包” 3.压缩格式:tar 4. 得到.tar文件,将其打包 5. 压缩格式为:gzip 6. 得到tar.gz格式 ...

  7. 代码片段 - Golang 创建 .tar.gz 压缩包

    Golang创建 .tar.gz 压缩包 tar 包实现了文件的打包功能,可以将多个文件或目录存储到单一的 .tar 文件中,tar 本身不具有压缩功能,只能打包文件或目录: import " ...

  8. Spring Boot项目使用maven-assembly-plugin根据不同环境打包成tar.gz或者zip

    spring-boot-assembly 在spring boot项目中使用maven profiles和maven assembly插件根据不同环境打包成tar.gz或者zip 将spring bo ...

  9. ubuntu .deb .tar.gz .tar.bz2 .rmp 和命令方式安装软件的方法

    今天在Ubuntu11.10中安装Google chrome浏览器是遇到了问题,下载好的".deb"格式的安装文件google-chrome-stable.deb双击后或者右键快捷 ...

  10. Linux下打包tar.gz

    将heben-addressbookinit打包成heben-addressbookinit.tar.gz格式 方式1:czvf heben-addressbookinit.tar.gz heben- ...

随机推荐

  1. @SpringBootApplication自动配置原理

    @EnableAutoConfiguration 是核心,他会调用一个@Import注解.我们已知Import自动配置得实现是通过创建ImportSelector 接口的实现类并重写里面selectI ...

  2. 通过Kube-rbac-proxy保护 Kubernetes 工作负载中的应用容器

    1.概述 kube-rbac-proxy 是 Kubernetes 生态中一个专注于"基于角色的访问控制(RBAC)"的轻量级代理组件,通常以 Sidecar 容器的形式部署在 P ...

  3. php7安装redis6扩展

    1.下载 php-redis扩展下载地址: http://pecl.php.net/package/redis 具体下载版本以自己的PHP版本信息为准 linux下载命令 wget http://pe ...

  4. .NET Core奇技淫巧之WinForm使用Python.NET并打包

    前言 之前整了一个GZY.EFCoreCompare 的库,可以用做对比实体与数据库结构.感兴趣可以去看看,地址:GZY.EFCoreCompare 但是只能导出execl表格. 后来大佬用Pytho ...

  5. BUUCTF---rsa_output

    题目 点击查看代码 {21058339337354287847534107544613605305015441090508924094198816691219103399526800112802416 ...

  6. 多态的前提--java进阶day02

    1.多态的前提条件 第一点和第二点都很好理解,第三点父类引用指向子类对象是什么意思?以下图进行讲解 我们以前的写法,如下图,叫做子类引用指向子类 那父类引用呢?就是把左边换成父类Animal即可 因为 ...

  7. # 🤖 **DeepSeek 深度解析 PasteForm:一个让管理端开发爽到飞起的全栈解决方案**

    DeepSeek 深度解析 PasteForm:一个让管理端开发爽到飞起的全栈解决方案 各位开发者注意啦!今天我要带大家全方位解剖 PasteForm 这个神奇框架--不仅介绍核心思想,更要重点展示它 ...

  8. AI应用部署本地步骤

    训练 微调 Ollama Gpt-Sovits Stable-Diffusion

  9. DPDI Online在线kettle调度工具

    1. DPDI简介 DPDI Online 是一款基于Kettle的强大在线任务调度平台,凭借其高效与灵活性,专为调度和监控Kettle客户端生成的ETL任务而设计 2. DPDI使用 2.1 DPD ...

  10. php和thinkphp实现页面调转

    1.原生PHP https://www.cnblogs.com/jade640/p/7118565.html 2.thinkPHP跳转方法及重定向 https://blog.csdn.net/Wake ...