.tar.gz 软件压缩包打包 AppImage 指南
要想打包 AppImage 分3步走
- 生成 AppDir
- 拷贝资源及依赖文件
- 生成 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 指南的更多相关文章
- linux处理U盘中的资料-挂载-tar.gz软件安装-linux环境下软件的安装方式
1. U盘插入linux一般会有以下反映 (1)/dev 的目录下,多出一个sdb的磁盘. 因为:目前系统中有两个硬盘, sda是原来的系统磁盘.sdb是插入的U盘. 其中:sdb1表示sdbU盘的一 ...
- dubbo框架的web端(war)和server端(tar.gz)结合jenkins打包方式
一.web端程序,打包成war包 jenkins配置 1.项目名称,旧文件处理配置 2.参数构建配置 3.源码库配置 4.打包文件pom.xml配置及多环境打包传参,此处传参qa(表示打测试环境包,名 ...
- 通过maven-assembly-plugin将Springboot项目打包成tar.gz压缩包,在Linux环境可执行脚本直接安装成系统服务
1.在pom.xml中添加maven-assembly-plugin依赖,同时需将默认生成的spring-boot-maven-plugin依赖删除,否则最终打出的发行包启动会有问题 <plug ...
- Linux下tar bz gz等压缩包的压缩和解压【转】
Linux下用户经常需要备份计算机系统中的数据,为了节省存储空间,常常将备份文件进行压缩,本文是对压缩和解压命令的大致总结 .tar.gz 解压:tar zxvf FileName.tar.gz ...
- Linux下tar bz gz等压缩包的压缩和解压
Linux下用户经常需要备份计算机系统中的数据,为了节省存储空间,常常将备份文件进行压缩,本文是对压缩和解压命令的大致总结 .tar.gz 解压:tar zxvf FileName.tar.gz ...
- Windows下将文件打包压缩成 .tar.gz格式
1.下载 “7-ZIP”,安装完成后进入需要打包的文件夹 2. 右击选择“添加到压缩包” 3.压缩格式:tar 4. 得到.tar文件,将其打包 5. 压缩格式为:gzip 6. 得到tar.gz格式 ...
- 代码片段 - Golang 创建 .tar.gz 压缩包
Golang创建 .tar.gz 压缩包 tar 包实现了文件的打包功能,可以将多个文件或目录存储到单一的 .tar 文件中,tar 本身不具有压缩功能,只能打包文件或目录: import " ...
- Spring Boot项目使用maven-assembly-plugin根据不同环境打包成tar.gz或者zip
spring-boot-assembly 在spring boot项目中使用maven profiles和maven assembly插件根据不同环境打包成tar.gz或者zip 将spring bo ...
- ubuntu .deb .tar.gz .tar.bz2 .rmp 和命令方式安装软件的方法
今天在Ubuntu11.10中安装Google chrome浏览器是遇到了问题,下载好的".deb"格式的安装文件google-chrome-stable.deb双击后或者右键快捷 ...
- Linux下打包tar.gz
将heben-addressbookinit打包成heben-addressbookinit.tar.gz格式 方式1:czvf heben-addressbookinit.tar.gz heben- ...
随机推荐
- Peach-Printer2.0 Web 打印服务解决方案
Peach-Printer1.0在沉寂许久后迎来了一个使用客户,非常感谢客户的支持和理解. 通过客户的使用反馈本人尝试对1.0版本进行完善修改,但始终打印效果未能实现预期.思索许久后决心更改打印控件的 ...
- mac强制关闭程序
使用快捷键:Command+Option+Esc 来打开"强制退出应用程序"的窗口,然后选中你需要退出的程序,再点右下方的"强制退出"即可.
- 基于pandas的数据清洗 -- 异常值的清洗
博客地址:https://www.cnblogs.com/zylyehuo/ 开发环境 anaconda 集成环境:集成好了数据分析和机器学习中所需要的全部环境 安装目录不可以有中文和特殊符号 jup ...
- linux 各种防火墙
一.iptables防火墙1.基本操作 # 查看防火墙状态 service iptables status # 停止防火墙 service iptables stop # 启动防火墙 service ...
- jupyterhub nginx proxy pass----ipv6转ipv4实现内网穿透
jupyterhub 很多人应该已经对jupyter和notebook已经有所了解了.如果是多人共享服务器的话,就需要用到jupyter的多用户版本jupyterhub.jupyterhub架构如图所 ...
- .NET 生成PDF文件
1.网上检索N种解决方案 QuestPDF:简单方便实用,文档也相对来说全,但是开源协议,当企业规模大的100W美金需要收费,未来存在潜在版权问题. itext7:感觉实用偏复杂,项目类库引用复杂,不 ...
- Spring Boot的常用注解
在Spring Boot中,注解(Annotation)是核心特性之一,广泛用于配置和简化开发.以下是Spring Boot中一些常用的注解及其示例: 1. @SpringBootApplicatio ...
- Win10微软拼音输入法设置-注册表
修改候选项窗口 HKEY_CURRENT_USER\Software\Microsoft\InputMethod\CandidateWindow\CHS\1 EnableFixedCandidateC ...
- 聊聊一体机与AI知识库
提供AI咨询+AI项目陪跑服务,有需要回复1 之前写了一篇关于一体机的文章: DeepSeek一体机是个什么鬼 一体机产生的原因是春节期间DeepSeek的火爆带动了一些公司的AI需求,但很多公司如医 ...
- Windows路径或者Linux路径映射成web路径进行访问代码
package com.soft.mpms.zframe.config; import java.io.File; import org.springframework.context.annotat ...