All checks were successful
Build and Release / build-and-test (arm64, alpine) (push) Successful in 30s
Build and Release / build-and-test (amd64, alpine) (push) Successful in 42s
Build and Release / build-and-test (arm64, ubuntu) (push) Successful in 41s
Build and Release / build-and-test (amd64, ubuntu) (push) Successful in 54s
Build and Release / release (push) Has been skipped
- 重构配置方式:使用 params.conf 替代命令行参数 - postinst 自动创建配置文件,升级时保护用户配置 - 初始化 llmdoc 文档系统(概述、架构、指南、参考) - 创建 README.md 和配置指南 - 提供完整的配置模板示例 配置文件优势:升级安全、集中管理、易于维护
58 lines
1.6 KiB
Markdown
58 lines
1.6 KiB
Markdown
# Debian 包配置管理架构
|
|
|
|
## 1. 配置文件管理机制
|
|
|
|
### 配置文件位置和格式
|
|
- **文件路径:** `/var/lib/p2pool/params.conf`
|
|
- **文件权限:** `640` (所有者: `p2pool:p2pool`)
|
|
- **格式:** 基于命令行参数的 key-value 配置文件
|
|
|
|
### 配置文件生命周期
|
|
|
|
#### 创建时机
|
|
- **首次安装:** `postinst` 脚本自动创建示例配置文件
|
|
- **升级场景:** 现有配置文件被完全保留,不会被覆盖
|
|
|
|
#### 配置文件生成策略
|
|
```bash
|
|
# 配置文件初始化伪代码
|
|
if [ ! -f /var/lib/p2pool/params.conf ]; then
|
|
cp /usr/share/p2pool/params.conf.example /var/lib/p2pool/params.conf
|
|
chown p2pool:p2pool /var/lib/p2pool/params.conf
|
|
chmod 640 /var/lib/p2pool/params.conf
|
|
fi
|
|
```
|
|
|
|
### 配置加载机制
|
|
- systemd 服务使用 `--params-file /var/lib/p2pool/params.conf` 加载配置
|
|
- 配置文件支持所有原命令行参数
|
|
- 配置文件优先级高于硬编码的默认值
|
|
|
|
## 2. 安全与管理特性
|
|
|
|
### 权限控制
|
|
- 仅 `p2pool` 系统用户可读写配置文件
|
|
- 组权限限制,防止非授权访问敏感配置
|
|
- 文件权限 `640` 确保最小权限原则
|
|
|
|
### 升级保护
|
|
- 配置文件在包升级过程中保持不变
|
|
- 新版本兼容旧配置文件格式
|
|
- 升级后可通过比较 `params.conf.example` 检查新增配置项
|
|
|
|
## 3. 配置示例
|
|
|
|
```conf
|
|
# /var/lib/p2pool/params.conf 示例
|
|
wallet=YOUR_MONERO_WALLET_ADDRESS
|
|
host=0.0.0.0
|
|
rpc-port=3333
|
|
log-level=1
|
|
```
|
|
|
|
## 4. 设计考量
|
|
|
|
### 动机
|
|
- 简化复杂的命令行参数管理
|
|
- 提供更好的配置持久化方案
|
|
- 增强系统配置的可读性和可维护性 |