文档中心

Agent 安装与卸载

在被管理设备上安装 DitOps 桌面端 Agent(Windows、macOS、Linux deb / rpm / tar.gz),无图形界面的 Linux 服务器怎么装,以及卸载顺序。

Agent 安装在每台被管理设备上,托盘常驻,负责资产采集、运行状态上报与远程协助。

1. 安装之前

项要什么
绑定码由 IT 管理员在管理端「设置 → 组织信息 → 设备绑定码」获取,形如 123456-7890(前 6 位企业码 + 后 4 位组织绑定码)
新设备开关该组织没有暂停新设备加入,否则绑定会被拒绝
网络设备能访问企业服务器地址(HTTPS 与 WSS,与 Edge Functions 同域)

绑定码一台设备只用一次。已经绑定过的设备不要重复输入,否则会多出一条设备记录;需要迁到另一家企业时,由管理员在管理端对该设备下发「换绑企业」并输入目标企业绑定码(设备需在线,且 Agent 为 1.2.165 及以上)。

2. Windows

  1. 从官网下载 desktop_agent-latest.zip,解压后双击里面的 desktop_agent-windows-<版本>-<构建>.exe。
  2. 向导里的「安装为系统服务」是勾选且不可修改的灰色状态:安装 Agent 就会安装系统服务,这一项只是告知。安装到那一步会单独请求一次管理员授权(UAC),同意即可。
  3. 完成后程序自动启动,输入绑定码。

批量静默安装(域策略 / MDM,以 SYSTEM 或管理员身份运行):

desktop_agent-windows-<版本>-<构建>.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /ALLUSERS /BINDINGCODE=123456-7890

按机器装过的机器,应用内自动更新拿不到提权会中止(已装版本照常可用);升级由 MDM 重新下发同一条命令。

3. macOS

macOS 只提供 pkg 安装包(DMG 已下线,不再提供):

  1. 双击 desktop_agent-macos-<版本>-<构建>.pkg(官网下载的是 desktop_agent-latest.pkg),安装过程中输入一次管理员密码。
  2. 装完应用、后台服务(LaunchDaemon)与开机自启一次就位,应用随即启动,输入绑定码。

pkg 已签名并公证,双击即可通过系统校验,不需要右键「打开」或在「隐私与安全性」里放行。装好后即使没有人登录也会持续采集。

之后的升级不需要任何密码:守护进程查到新版本会以 root 自行安装同一份 pkg,壳与后台服务一起换掉(见第 5 节)。

批量部署 / MDM:用的还是这同一个 pkg,不需要有人在机器前点授权。installer -pkg xxx.pkg -target / 或 MDM 推完后,在安装后脚本里写入 /Library/Application Support/DitOpsAgent/binding_code.txt(内容为绑定码,写完 chmod 600),守护进程 30 秒内自行绑定。

4. Linux

Linux 桌面端(当前为 x86_64)提供三种安装包,装出来是同一个程序,按发行版任选一种:

系统要求:glibc ≥ 2.18(Debian 10+ / Ubuntu 18.04+ / RHEL、CentOS Stream 8+)。CentOS 7 / RHEL 7 只有 glibc 2.17,Agent 由 Dart 编译、跑不起来,装上去会报 GLIBC_2.18 not found。

Linux 三种安装包

4.1 .deb

sudo apt install ./desktop_agent-latest-x86_64.deb

4.2 .rpm

sudo dnf install ./desktop_agent-latest-x86_64.rpm       # Fedora / RHEL 8+ / CentOS Stream 8+

4.3 .tar.gz

# Debian / Ubuntu
sudo apt install libgtk-3-0 libblkid1 liblzma5 libayatana-appindicator3-1
# RHEL / Fedora(EPEL)
sudo dnf install gtk3 libblkid xz-libs libayatana-appindicator-gtk3

tar -xzf desktop_agent-latest-x86_64.tar.gz
cd ditops-desktop-agent
./desktop_agent

解压到哪就从哪运行,不写系统目录,也不会安装桌面菜单项。

4.4 装成系统服务

Linux 桌面版的管理端指令与 Windows / macOS 相同:设备 → 远程指令 →「切换为服务模式运行」。需要桌面会话(会弹一次授权框),SSH 登录或无桌面会话时无法完成。

装好后采集、上报与远程指令由 root 的守护进程负责,壳只保留界面:

Linux 上的壳与守护进程

内容界面(登录用户)守护进程(root)
程序/opt/ditops-desktop-agent/desktop_agent/var/lib/ditops-agent/ditops-agent
数据~/.local/share/cn.ditops.desktopAgent/var/lib/ditops-agent
日志数据目录下的 log/ditops_agent_*.log/var/lib/ditops-agent/log/ditops_daemon_*.log
自启登录时自动启动systemd ditops-agent.service

常用命令:systemctl status ditops-agent、journalctl -u ditops-agent -n 100。

4.5 服务器版(无图形界面)

没有图形界面的 Linux 服务器不需要上面三个桌面包,改用服务器版:只有守护进程,不依赖 GTK,装完由 systemd 托管、开机自启,不需要任何人登录。

一条命令装完(自动识别架构并下载安装包、装好服务、写入绑定码并等它绑上;官方当前只发布 x86_64 包,aarch64 用 --pkg 指定自建包):

curl -fsSL https://downloads.ditops.cn/linux/agent/install-agent-server.sh | sudo bash -s -- --code 123456-7890

不想用脚本时手动装:.tar.gz 解压后 sudo ./ditops-agent/install.sh,或 sudo apt install ./ditops-agent_*.deb / sudo dnf install ./ditops-agent-*.rpm。绑定没有对话框,把绑定码写进文件即可:

echo '123456-7890' | sudo tee /var/lib/ditops-agent/binding_code.txt
sudo chmod 600 /var/lib/ditops-agent/binding_code.txt

守护进程会在 30 秒内读取并完成绑定,随后删除该文件。

服务器版与桌面版不要装在同一台机器上:两者共用同一个 systemd 服务名与数据目录。

5. 升级

保持默认设置时,Agent 会在管理端发布新版本后自行下载并安装,无需人工干预,也不需要任何人输入密码(macOS 上是守护进程以 root 安装同一份 pkg,壳与后台服务一起替换)。

也可以手动升级:重新安装新版本的安装包即可,绑定关系与本地数据都会保留。系统服务(守护进程)的二进制单独更新;若长期不生效,macOS 重装一次官网那份 pkg,Linux 在管理端先「切换为用户模式运行」再「切换为服务模式运行」重装一次。

6. 卸载

顺序不能反:先卸后台服务(或直接远程卸载 Agent),再卸程序。

/etc/ditops-agent/agent.env 会被保留,需要时手动删除。设备记录不会随之删除,请在管理端移除该设备。

7. 常见问题

现象原因与处理
绑定失败:无效或已过期绑定码抄错、不是该企业的码,或组织暂停了新设备加入
启动报 libayatana-appindicator3.so.1 找不到托盘库未安装(tar.gz 常见),按 4.3 补依赖
托盘没有图标GNOME 需要 AppIndicator 扩展,Ubuntu 默认已带
「切换为服务模式运行」无反应授权弹窗被其他窗口挡住;SSH 或无桌面会话的机器请改用服务器版
服务起不来journalctl -u ditops-agent -n 100;常见原因是 agent.env 写成了 KEY = VALUE(应为 KEY=VALUE,不加引号)
管理端出现两台同名设备重复绑定过,删除多余那台
远程卸载后设备还在列表里卸载只删机器上的程序,设备记录不随之下线;需要时在管理端移除该设备