牛,期待详细的原理教学贴。
机器牛马诞生,解放打包人!

我这边用的是玲珑打包的龙芯浏览器,发现玲珑版的其他应用拉不起来,把龙芯浏览器设为默认的话,我vscode就拉不起来,自带浏览器可以拉起来。不知道是啥原因,V25预览版
我这边用的是玲珑打包的龙芯浏览器,发现玲珑版的其他应用拉不起来,把龙芯浏览器设为默认的话,我vscode就拉不起来,自带浏览器可以拉起来。不知道是啥原因,V25预览版
V25只是个预览版,连测试版都不算,还有很多问题需要修复的,另外,玲珑好像是隔离开了,貌似没法唤醒,不知道后面会不会改进。
我这边用的是玲珑打包的龙芯浏览器,发现玲珑版的其他应用拉不起来,把龙芯浏览器设为默认的话,我vscode就拉不起来,自带浏览器可以拉起来。不知道是啥原因,V25预览版
你试一下玲珑里安装Thorium通用版会不会出现类似问题
赞,头像看起来挺熟悉
可以支持 AppImage 包吗?
目前打包服务依赖apt命令,无法下载appimage,不过工具是通用的,可以通过ll-killer强制覆盖容器目录,来解决appimage应用中的路径问题。
此外还需要处理appimage的快捷方式信息和图标问题,出于安全考虑,尚不能在服务器上执行自定义命令。
整体而言还是能够实现自助转制appimage的,只需要提供URL链接以及快捷方式的生成参数。
赞,头像看起来挺熟悉
没错,就是我
我这边用的是玲珑打包的龙芯浏览器,发现玲珑版的其他应用拉不起来,把龙芯浏览器设为默认的话,我vscode就拉不起来,自带浏览器可以拉起来。不知道是啥原因,V25预览版
意思是指龙芯浏览器内启动其他应用吗?还是指vscode启动龙芯/其他浏览器
机器牛马诞生,解放打包人!
今天添加了自动补全依赖功能,牛马能力又增强了
牛,期待详细的原理教学贴。
后续反响不错的话再出一篇详细的原理介绍帖~
编辑不了帖子,老是提示有敏感词,每次提示都还不一样 把更新内容放下面了
调整后的填写模板
Linglong Killer Self-Service 的 GitHub 页面
原模板已移除,更换为此更直观的填写模板
限制
- 目前在线服务仅支持apt仓库的deb包转制
- 出于安全考虑,暂不支持在服务中运行自定义构建脚本,可以将仓库下载到本地使用。
本地运行
ll-killer
可以在本地运行,但目前仅测试了在项目根目录下工作,尚未测试其他工作目录。
运行步骤
- 在工作目录新建一个
package.info
文件,填入上述项目构建参数。 - 运行
./ll-killer generate package.info
命令,生成linglong.yaml
- 运行
./ll-killer build-and-check
命令,过程中自动构建项目一到两次,并自动补全缺失依赖
项目调试
通过ll-builder run
命令进入容器,自动执行linglong.yaml内配置的entrypoint.sh
入口命令,并进入重塑文件系统后的容器环境,$PREFIX
中的内容将无视玲珑容器限制,直接叠加到玲珑容器根目录。
此时可以通过shell命令检查容器内映射后的文件布局。
使用自定义构建脚本
可以创建新的shell脚本,并在linglong.yaml中的build指令替换如下
./ll-killer -- <你的构建脚本> #你可以在脚本中以root身份写入任意目录
./ll-killer install #复制收集到的文件更改到$PREFIX
./ll-killer setup #修复share中的符号链接、快捷方式和桌面图标
ll-killer命令说明
用法: ll-killer mode [...args]
模式说明:
build-and-check 构建并自动补全依赖
ldd-check <output> 检查动态库依赖并记录日志
运行前必须至少使用ll-builder build构建一次项目
ldd-search <input> [found] [missing] 搜索动态库依赖
主机上必须安装apt-file
输出到 ldd-missing.log 和 ldd-found.log。
local [...args] 切换到隔离的APT环境。
generate <package.info> 生成linglong.yaml脚本。
shell 执行交互式 shell。
* 显示本帮助信息。
ll-builder build 构建模式容器内模式:
root 切换到 root 模式,全局可写。
build 执行安装和构建脚本。
dpkg-install 使用 dpkg 安装模式安装sources目录下的deb。
extract 使用 dpkg 解压模式安装sources目录下的deb。
clean 清理搜集的依赖文件和目录。
copy 拷贝收集的依赖到$PREFIX。
install 清理并拷贝文件(clean + copy)。
setup 配置应用的快捷方式和图标文件。
dev 切换到隔离环境。
-- 切换到默认的 root 模式。
ll-killer 内部模式,除非你知道是什么,否则不要使用:
mount 挂载 FUSE 和根文件系统,准备合并目录。
pivot_root 切换根文件系统到合并目录,并执行 shell。
local-env 配置本地 APT 环境,绑定相关目录,更新包信息。
dev-host 配置开发主机环境,并切换根文件系统。
示例:
ll-killer generate package.info 通过package.info生成linglong.yaml
ll-killer build-and-check 构建并自动补全依赖
ll-killer ldd-check ldd-check.log 检查容器内是否有缺失依赖,输出缺失文件名到ldd-check.log
ll-killer ldd-search ldd-check.log ldd-found.log ldd-missing.log
搜索ldd-check.log中的依赖
ll-killer -- bash 在容器内切换到root模式
```## 250120 更新
1. 添加了自动补全依赖功能
2. 优化了填写模板
3. 添加了ll-killer命令帮助
仰望大佬!
可以支持 AppImage 包吗?
appimage可以直接自己打包
真好啊
有一说一,的确好用,我个人觉得比官方的pica好用
把这个打包框架建立在deepseek上,是不是目前的商业软件都可以自动打包?
理论上已经不存在生态问题了,请教!
玲珑的包太过臃肿了,感觉还是electron包小
linglong现在能打包wine应用吗?
Popular Ranking
ChangePopular Events
More
Linglong Killer Self-Service (ll-killer 玲珑杀手)
这几天研究了下如何突破玲珑限制,根除玲珑打包问题。相信任何一个尝试过打包玲珑应用的人都曾被玲珑容器的路径限制和依赖库问题弄得焦头烂额,相当令人抓狂。这些问题是玲珑生态的发展的巨大阻碍,为了解决这些困难,ll-killer就此诞生。
ll-killer是一个新工具,旨在解决容器环境下构建应用时的常见问题。它不需要 root 权限,能够绕过容器内的路径限制,完全重塑容器路径。在构建时支持将容器文件系统挂载为可写,再通过apt安装和收集依赖;在运行时支持恢复构建时的文件系统,并支持环境的重入(重入环境尚不会继承重入时的环境变量)。
为了进一步降低使用成本,我将其编写为了一个Github Action工作流,用户只需在issue区按照模板格式发帖,系统即会自动根据帖子内容开始打包,并回复打包结果和下载链接,最简情况下只需提供deb包名。
特点
使用方法
示例:
提交以下内容即可构建 GIMP:
构建成功后,会返回下载链接,方便你获取构建好的包。
除了Package和APT-Sources字段比较重要,其他字段都是可选的,不填写的情况下由系统自动从apt仓库提取。
构建效果
[self-build] GIMP · Issue #1 · System233/linglong-killer-self-service
[self-build] cn.wps.wps-office · Issue #2 · System233/linglong-killer-self-service
[self-build] cn.wps.wps-office-pro · Issue #3 · System233/linglong-killer-self-service
如何获取包的构建参数
在正常的Deepin或UOS系统中使用命令
apt show "deb包名"
,如获取curl包的信息可以看到包来自
APT-Sources: https://mirrors.tuna.tsinghua.edu.cn/deepin/beige beige/main amd64 Packages
以及Version等信息。构建参数与此APT输出基本相同,看起来是普通的
KEY: VAL
键值对形式,唯一要注意的是多行字段中,行首必须是空格。此外,在声明APT源时请指定[trusted=yes]参数忽略签名,避免因仓库签名引起的构建失败。
总结
以上是关于ll-killer的简要介绍,如有问题欢迎讨论。