# 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 # 管理端发现新设备后,在设备详情页设置别名 ``` --- ## 更新部署 ### 首次安装(新设备/离线部署) 在开发机(已安装 safesight-edge 源码和编译环境)上: ```bash cd ~/apps/safesight-edge git pull && bash scripts/package-offline.sh ``` 将生成的包传到目标设备: ```bash scp safesight-upgrade-*.tar.gz orangepi@<目标IP>:/tmp/ ``` 在目标设备上: ```bash cd /tmp && tar -xzf safesight-upgrade-*.tar.gz cd safesight-upgrade-* sudo AGENT_TOKEN=<管理端token> ./deploy.sh install ``` > 安装后配置为空模板,通过管理端部署向导下发实际配置。 ### 在线更新(可访问 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 cd ~/apps/safesight-edge && git pull bash scripts/build.sh -m -j4 cd agent && go build -o safesight-edge-agent ./cmd/safesight-agent sudo ./scripts/upgrade-from-old.sh ```