
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
debos 是一款用于简化各类基于Debian的操作系统(OS)镜像创建的工具。与其他专注于特定用例的工具不同,debos 更侧重于作为工具链,使常见操作变得简单,同时提供足够的灵活性以满足幕后可能需要的任何调整。debos 以YAML文件作为输入,按顺序执行文件中列出的操作,这些操作均为自包含且相互独立。
debos 通过YAML配方文件中的操作(actions)实现镜像定制,主要支持以下操作:
apt 安装软件包及其依赖完整的操作语法说明可参考:https://godoc.org/github.com/go-debos/debos/actions
-t 选项)和环境变量(通过 -e 选项)定制--debug-shell)、资源配置(--cpus、--memory)等适用于需要创建定制化基于Debian的操作系统镜像的场景,例如:
官方Docker容器可用:
bashdocker pull godebos/debos
使用说明参见 https://github.com/go-debos/debos/blob/master/docker/README.md%E3%80%82
bashsudo apt install golang git libglib2.0-dev libostree-dev qemu-system-x86 \ qemu-user-static debootstrap systemd-container export GOPATH=/opt/src/gocode # 或其他适合你的路径 go get -u github.com/go-debos/debos/cmd/debos /opt/src/gocode/bin/debos --help
以下示例将创建一个arm64架构镜像,安装多个软件包,修改 /etc/hostname 为 "debian",并最终生成tarball。
创建 example.yaml 文件:
yaml{{- $image := or .image "debian.tgz" -}} architecture: arm64 actions: - action: debootstrap suite: "buster" components: - main - non-free mirror: https://deb.debian.org/debian variant: minbase - action: apt packages: [ sudo, openssh-server, adduser, systemd-sysv, firmware-linux ] - action: run chroot: true command: echo debian > /etc/hostname - action: pack file: {{ $image }} compression: gz
运行构建命令:
bashdebos example.yaml
默认生成的tarball名为 debian.tgz,如需修改名称,可通过模板变量指定:
bashdebos -t image:"debian-arm64.tgz" example.yaml
构建树莓派3定制化镜像的示例可参考:https://github.com/go-debos/debos-recipes
基本命令格式:
bashdebos [选项] <YAML配方文件> debos [--help]
主要选项:
-b, --fakemachine-backend=:指定fakemachine后端(默认:auto)--artifactdir=:打包归档和ostree仓库的目录(默认:当前目录)-t, --template-var=:模板变量(使用 -t 变量:值 语法)--debug-shell:出错时进入交互式shell-s, --shell=:重新定义交互式shell二进制文件(默认:/bin/bash)--scratchsize=:磁盘支持的临时空间大小-c, --cpus=:构建VM使用的CPU数量(默认:2)-m, --memory=:构建VM的内存大小(默认:2048MB)--show-boot:显示fakemachine的启动/控制台消息-e, --environ-var=:环境变量(使用 -e 变量:值 语法)-v, --verbose:详细输出--print-recipe:打印最终配方--dry-run:生成最终配方但不执行实际构建--disable-fakemachine:不使用fakemachinedebos从主机读取预定义的环境变量列表并传播到fakemachine,当前包含代理相关变量:http_proxy, https_proxy, ftp_proxy, rsync_proxy, all_proxy, no_proxy。
HTTP_PROXY 和 no_proxy 都会被传播)。-e, --environ-var 选项可指定、覆盖或取消环境变量,语法:debos -e 变量:值 ...。-e 变量(不带值),支持同时指定多个 -e。代理环境变量会从主机传播到fakemachine,但存在以下已知问题:
默认情况下(除非使用 --disable-fakemachine),debos通过 https://github.com/go-debos/fakemachine 创建并启动虚拟机,在其中执行配方定义的操作,确保配方在不同主机环境下的可重复性。
--fakemachine-backend 选项覆盖。更多fakemachine后端信息参见 https://github.com/go-debos/fakemachine%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务