Files
mond/llmdoc/architecture/packaging.md
Wang Defa ff86a4e2bf
All checks were successful
Build and Release Mond / build-and-test (arm64) (push) Successful in 4s
Build and Release Mond / build-and-test (amd64) (push) Successful in 14s
Build and Release Mond / release (push) Successful in 37s
feat: 优化 Debian 打包配置并初始化项目文档系统
- 简化 mond.service 配置,改为通过配置文件启动
- 优化 postinst 安装脚本,自动生成配置文件模板
- 优化 postrm 卸载脚本,正确清理数据目录
- 初始化 llmdoc 文档系统,包含项目概览、使用指南、架构说明和参考文档
- 更新 README.md 构建和配置说明
- 移除 .gitignore 中 llmdoc/ 的忽略规则
2025-12-24 08:59:06 +08:00

59 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Mond 打包系统架构
## 1. 身份标识
- **定义:** 基于 Debian 打包规范的多平台软件分发系统
- **目的:** 提供标准化、可靠的软件安装和管理机制
## 2. 核心组件
- `debian/control.template` (PackageMetadata): 定义包元数据
- `debian/postinst` (PostInstallScript): 安装后配置脚本
- `debian/mond.service` (SystemdService): systemd 服务配置
- `debian/build-deb.sh` (BuildScript): 构建 Debian 包的脚本
## 3. 打包系统设计
### Debian 包结构
- **元数据:** 版本、依赖、描述
- **文件布局:**
- 二进制文件:`/opt/mond/mond`
- 配置文件:`/var/lib/mond/params.conf`(首次安装时自动创建)
- 数据目录:`/var/lib/mond/data/`
- 日志目录:`/var/log/mond/`
- systemd 服务:`/lib/systemd/system/mond.service`
### 安装后脚本逻辑
1. 创建必要的系统用户和组(`mond:mond`
2. 创建日志目录和数据目录(包括 `/var/lib/mond/data` 子目录)
3. **生成默认配置文件**(如果不存在)
- 位置:`/var/lib/mond/params.conf`
- 包含所有默认运行参数
- 使用 INI 格式
- 设置正确的权限640, mond:mond
4. 设置文件和目录权限
5. 重载 systemd 配置
6. 显示安装后说明(包括配置文件位置和使用指引)
**重要特性:** 配置文件只在首次安装时创建,升级时不会覆盖用户修改。
### systemd 集成
- 支持标准服务管理命令
- 使用配置文件方式启动(`--config-file=/var/lib/mond/params.conf --non-interactive`
- 配置服务依赖和启动行为
- 提供日志和状态监控
- 安全沙箱设置NoNewPrivileges, ProtectSystem, ProtectHome
- 允许写入配置目录、数据目录和日志目录ReadWritePaths
- 自动重启策略Restart=always
**配置管理优势:**
- 用户修改配置文件后,`apt upgrade` 不会覆盖
- systemd 服务文件可以安全更新,不影响用户配置
- 配置集中管理,易于维护
- 数据与配置分离,便于管理
## 4. 设计原理
- **标准合规:** 遵循 Debian 打包最佳实践
- **可配置性:** 灵活的服务和安装配置
- **可靠性:** 通过 systemd 提供健壮的服务管理