# Edge 设备部署指南 ## 首次部署(从 SD 卡克隆) ### 克隆前准备 在源设备上清理不需要的文件后关机,取出 SD 卡,使用 `dd` 或烧录工具克隆到新卡。 ### 克隆后配置 将新 SD 卡插入新设备,开机,执行以下步骤: #### 1. 生成新的设备 ID 管理端通过设备 ID 区分不同设备,克隆后必须更换: ```bash sudo rm -f /etc/machine-id /var/lib/safesight-edge-agent/device_id sudo systemd-machine-id-setup ``` #### 2. 重新生成 SSH 主机密钥 ```bash sudo rm -f /etc/ssh/ssh_host_*_key* sudo ssh-keygen -A ``` #### 3. 设置主机名 ```bash sudo hostnamectl set-hostname <新主机名> ``` #### 4. 配置静态 IP(生产环境) 编辑 netplan 配置: ```bash sudo nano /etc/netplan/01-network-manager-all.yaml ``` 写入: ```yaml network: version: 2 ethernets: enP4p65s0: # 网卡名,用 ip addr 确认 dhcp4: no addresses: - 10.0.0.82/24 # 目标 IP routes: - to: default via: 10.0.0.1 # 网关 nameservers: addresses: - 10.0.0.1 # DNS ``` 应用: ```bash sudo netplan apply ``` #### 5. 重启 ```bash sudo reboot ``` ### 验证 ```bash # 确认服务状态 systemctl status safesight-edge-server safesight-edge-agent # 确认新 IP ip addr show | grep inet # 确认新设备 ID cat /var/lib/safesight-edge-agent/device_id # 管理端发现新设备后,在设备详情页设置别名 ``` --- ## 更新部署 ### 在线更新(可访问 git) ```bash cd ~/apps/safesight-edge git pull bash scripts/build.sh -m -j4 cd agent && go build -o safesight-edge-agent ./cmd/safesight-agent && cd .. sudo ./scripts/deploy.sh upgrade ``` ### 离线更新(生产内网) 在开发机上执行: ```bash bash scripts/package-offline.sh ``` 将生成的 `safesight-upgrade-*.tar.gz` 传到生产设备: ```bash # 通过 SCP(替换 IP) scp safesight-upgrade-*.tar.gz orangepi@10.0.0.82:/tmp/ # 或通过 U 盘挂载后复制 ``` 在生产设备上: ```bash tar -xzf safesight-upgrade-*.tar.gz -C /tmp/ cd /tmp/safesight-upgrade-* sudo ./deploy.sh upgrade # 已升级过的新设备 # 或 sudo ./upgrade-from-old.sh # 首次从旧版本升级 ```