# 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. 设计考量 ### 动机 - 简化复杂的命令行参数管理 - 提供更好的配置持久化方案 - 增强系统配置的可读性和可维护性