Files
lan-manager/server/services/ssh.go
shirainbown af306c183c fix: 防止 SSH 系统信息同步覆盖自定义主机名,优化 Debian 12 兼容性
核心修复:
- 后端 SyncSSH 接口彻底移除 hostname 字段更新,仅保留 os_version、cpu_info、
  memory_info、disk_info、uptime、listen_ports 的系统信息同步。
- 前端 MachineDetail.vue 在 openSSH(自动获取)和 fetchSSH(手动输入密码)
  两条路径均增加 delete syncData.hostname 保护,确保即使误传也不会覆盖。
- 重新编译后端二进制并重启服务,解决了旧二进制残留 hostname 更新逻辑的问题。

SSH 采集兼容性优化(server/services/ssh.go):
- CPU:将复杂 shell 脚本改为 Go 层两次读取 /proc/stat 并计算利用率,避免
  Debian 12 dash 对引号嵌套解析失败。
- 内存:改用 /proc/meminfo 替代 free -m,兼容最小化/容器环境。
- 磁盘:简化 df -hP 过滤,仅保留真实块设备( ~ /^/dev/)。
- 端口:增加 ss → netstat → /proc/net/tcp 三级回退,确保任何 Linux 环境
  都能获取监听端口。
- 系统版本:采用 . /etc/os-release && printf '%s\n'  方式,
  兼容所有 Linux 发行版。

构建与部署:
- 重新构建前端并更新 server/static/。
- 交叉编译 Linux amd64 二进制并更新 deploy/lan-manager-debian12.tar.gz。
- 恢复数据库中被污染的主机名记录。
2026-04-15 02:05:37 +08:00

5.2 KiB