Fleet 中如何卸载 fleetd(Fleet 代理):macOS、Windows、Linux 本地与远程卸载完整指南

发布时间:2026/11/11 12:12:30

Fleet 中如何卸载 fleetd(Fleet 代理):macOS、Windows、Linux 本地与远程卸载完整指南 Fleet 中如何卸载 fleetdFleet 代理macOS、Windows、Linux 本地与远程卸载完整指南【免费下载链接】fleetOpen device management项目地址: https://gitcode.com/GitHub_Trending/fl/fleetFleet 的设备管理代理fleetd由 Orbit 组件构成包含 osquery 安装器/自动更新器、osqueryd 与 fleet-desktop 桌面菜单应用负责设备与 Fleet 服务器之间的连接、遥测上报与 MDM 管理。本文基于仓库中的官方卸载脚本完整讲解在 macOS、Windows、Linux 三种平台上本地直接卸载与通过 Fleet 控制台远程卸载的全流程并深入剖析各平台卸载脚本的底层清理逻辑LaunchDaemon/systemd 服务、包管理器残留、注册表项、MDM 注册状态等帮助你安全、干净地移除 fleetd 并理解卸载脚本为何采用延迟分离子进程的设计。卸载前须知卸载 fleetd 需要管理员root权限macOS 与 Linux 需在sudo下执行Windows 需以管理员身份运行 PowerShell。三份官方卸载脚本均采用**父进程 延迟分离子进程的设计脚本先由 Fleet 感知的会话返回成功随后再启动一个脱离父进程的子进程等待 1520 秒后真正执行文件清理。这样做的目的是给 Fleet 留出时间接收脚本执行结果**避免清理过程过早中断遥测上报。卸载后设备在 Fleet 中会显示为offline离线直到你在 Fleet 中手动删除该主机记录。若设备仍受 MDM 管理卸载脚本会优先关闭/移除 MDM 注册防止 Fleet 在 agent 被移除前重新启用管理。在 macOS 上卸载 fleetdmacOS 卸载脚本位于 it-and-security/lib/macos/scripts/uninstall-fleetd-macos.sh执行步骤如下下载 macOS 卸载脚本uninstall-fleetd-macos.sh。打开Terminal终端应用。进入脚本保存目录cd /path/to/your/script为脚本添加可执行权限chmod x uninstall-fleetd-macos.sh以 root 权限运行sudo ./uninstall-fleetd-macos.shmacOS 卸载脚本的清理逻辑脚本首先通过id -u校验当前用户是否为 root非 root 直接退出并提示 Please run as root。核心清理函数remove_fleet依次执行rm -rf /Library/LaunchDaemons/com.fleetdm.orbit.plist /var/lib/orbit /usr/local/bin/orbit /var/log/orbit /opt/orbit/ pkgutil --forget com.fleetdm.orbit.base.pkg || true launchctl stop com.fleetdm.orbit launchctl unload /Library/LaunchDaemons/com.fleetdm.orbit.plist pkill fleet-desktop || true即删除 Orbit 的LaunchDaemon 启动项、数据目录/var/lib/orbit、二进制/usr/local/bin/orbit、日志目录/var/log/orbit与安装目录/opt/orbit并通过pkgutil --forget注销 pkg 安装记录随后停止并卸载 LaunchDaemon、结束fleet-desktop进程。随后脚本检查 MDM 注册状态profiles status -type enrollment若输出包含MDM enrollment: Yes则执行profiles remove -identifier com.fleetdm.fleet.mdm.apple移除 Fleet 的 MDM 注册描述文件若为No则直接跳过其余情况提示 MDM status is unknown。主流程部分$1 ! remove会输出 Removing fleetd, system will be unenrolled in 15 seconds...并通过bash -c bash $0 remove ... 启动分离的子进程子进程$1 remove会sleep 15等待 15 秒再将完整清理过程输出追加到/tmp/fleet_remove_log.txt。在 Windows 上卸载 fleetdWindows 卸载脚本位于 docs/solutions/windows/scripts/uninstall-fleetd-windows.ps1该脚本会先关闭 MDM 注册再卸载 fleetd。执行步骤如下下载 Windows 卸载脚本uninstall-fleetd-windows.ps1。右键点击PowerShell选择以管理员身份运行Run as administrator。进入脚本保存目录cd C:\path\to\your\script运行脚本.\uninstall-fleetd-windows.ps1注意运行未签名的 PowerShell 脚本时通常会收到警告需要调整 Execution Policy。一个示例是Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process。这会为当前 PowerShell 会话绕过所有警告和提示。Windows 卸载脚本的清理逻辑脚本的Main函数分为两个阶段阶段一关闭 MDM 注册。脚本通过Test-Administrator校验管理员权限然后检查注册表HKLM:\SOFTWARE\Microsoft\Enrollments下是否存在ProviderID为Fleet且EnrollmentState匹配1|3|6|13的项若无则回退检查DiscoveryServiceFullURL属性作为判断依据。若确认已注册 MDM则调用 P/Invoke 引入的mdmregistration.dll中的UnregisterDeviceWithManagementUnregisterDevice()注销设备并逐一清理各注册项下的DiscoveryServiceFullURL值防止 Fleet 重新启用 MDM。阶段二真正移除 agent。Force-Remove-Orbit函数依次完成Stop-Orbit停止名为Fleet osquery的 Windows 服务并强制结束orbit、osqueryd、fleet-desktop残留进程通过 WMI 删除Fleet osquery服务定义删除$Env:Programfiles\Orbit目录清理注册表HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall中DisplayName为Fleet osquery的项清理HKLM:\SOFTWARE\Classes\Installer\Products与...\Installer\UserData下的 MSI 产品注册记录避免原安装源如网络共享不可用时出现 1612 之类的陈旧源路径错误将成功/失败日志写入%TEMP%\fleet_remove_log.txt。与 macOS/Linux 版本一致脚本默认未传remove参数只先完成 MDM 注销并启动一个隐藏的分离子进程Start-Process -WindowStyle Hidden ... remove子进程等待 20 秒后执行真正的清理父进程随即报告 Removing fleetd, system will be unenrolled in 20 seconds...。在 Linux 上卸载 fleetdLinux 卸载脚本位于 it-and-security/lib/linux/scripts/uninstall-fleetd-linux.sh执行步骤如下下载 Linux 卸载脚本uninstall-fleetd-linux.sh。打开终端。进入脚本保存目录cd /path/to/your/script为脚本添加可执行权限chmod x uninstall-fleetd-linux.sh以 root 权限运行sudo ./uninstall-fleetd-linux.shLinux 卸载脚本的清理逻辑脚本首先校验 root 权限核心函数remove_fleet依次执行systemctl stop orbit.service || true systemctl disable orbit.service || true rm -rf /var/lib/orbit /opt/orbit /var/log/orbit /usr/local/bin/orbit /etc/default/orbit /usr/lib/systemd/system/orbit.service即停止并禁用orbit.service系统服务删除 Orbit 的数据目录、安装目录、日志、二进制、默认配置文件/etc/default/orbit以及 systemd 单元文件。随后根据包管理器清理fleet-osquery软件包引用if command -v dpkg /dev/null; then dpkg --purge fleet-osquery || true elif command -v rpm /dev/null; then rpm -e fleet-osquery || true elif command -v pacman /dev/null; then pacman -Rns --noconfirm fleet-osquery || true fi覆盖 Debian/Ubuntudpkg、RHEL 系rpm与 Archpacman三类常见发行版。最后pkill -f fleet-desktop结束残留进程并systemctl daemon-reload刷新 systemd 配置。值得注意的是Linux 脚本在启动延迟分离子进程时优先使用systemd-run --quiet bash $SCRIPT_PATH remove将清理任务放入独立的 transient unit 运行从而让清理进程脱离orbit.service的 cgroup——这样即使orbit.service被停止卸载脚本也能继续执行完毕对于无 systemd 的罕见环境才回退到nohup ... 方式。通过 Fleet 远程卸载 fleetd除在设备本地执行脚本外也可以完全通过 Fleet 控制台对单台设备远程触发卸载先将对应平台的卸载脚本macOS / Windows / Linux作为**脚本script**添加到 Fleet 中。从仓库结构看这些脚本同时被 Fleet 自身的安全基线与测试用例引用例如 it-and-security/fleets/testing-and-qa.yml、it-and-security/fleets/workstations.yml可参考其中的组织方式导入。进入该设备的Host details主机详情页面。选择Actions Run script并选择卸载脚本执行。该操作背后对应 Fleet REST API 的脚本执行接口POST /api/v1/fleet/scripts/run见 server/api_endpoints/api_endpoints.yml 与 docs/REST API/rest-api.md 的 Run script 一节请求体中通过host_id指定目标主机并以script_id、script_contents或script_name配合fleet_id三者之一指定脚本内容脚本会被加入该主机的活动队列依次执行单次内联脚本内容需小于 10,000 字符长脚本建议先保存再用script_id引用。接口返回202与一个execution_id可通过GET /api/v1/fleet/scripts/results/:execution_id查询退出码exit_code、输出output与运行时长runtime等结果。脚本执行默认超时时间为 5 分钟可在 agent 配置中调整。正因为卸载脚本采用父进程先返回成功、子进程延迟清理的结构远程触发时 Fleet 能在 agent 被移除前及时收到执行成功的回执。卸载后的处理与注意事项卸载完成后设备在 Fleet 中会显示为offline并保持该状态直到你在 Fleet 中删除该主机。如果设备将重新部署直接删除旧记录后重新注册即可。各平台脚本都会把清理日志写入临时目录下的fleet_remove_log.txtmacOS/Linux 为/tmp/fleet_remove_log.txtWindows 为%TEMP%\fleet_remove_log.txt便于排查卸载失败原因。若希望按需管理脚本可使用POST /api/v1/fleet/scripts上传、GET /api/v1/fleet/scripts/:id查询、DELETE /api/v1/fleet/scripts/:id删除等接口见 server/api_endpoints/api_endpoints.yml。卸载脚本会同时清理 Orbit 代理、osqueryd 与 fleet-desktop 的进程与文件无需手动逐项处理但请务必在卸载前确认设备不再需要 Fleet 管理因为 MDM 注册与 enroll secret 等状态一旦移除重新接入需要再次完成注册流程。【免费下载链接】fleetOpen device management项目地址: https://gitcode.com/GitHub_Trending/fl/fleet创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/11/11 8:32:58

PHP汽车俱乐部系统:原生MySQL业务建模与定时提醒实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/12 5:54:23

电工证吃香不 2026河南最新政策下怎么考怎么用

电工证吃香不 2026河南最新政策下怎么考怎么用 证书过期了不知道怎么复审延期,这事儿真让不少人头疼。尤其是像我们这种在洛阳从事公路工程的人员,特种作业证一过期,就可能面临停工、罚款,甚至被追究法律责任。2026河南最新政策已经明确,特种作…

2026/11/12 5:54:23

义乌做特种作业操作证过期了不知道怎么复审延期?值不值得考?

义乌做特种作业操作证过期了不知道怎么复审延期?值不值得考? 证书过期了不知道怎么复审延期?你不是一个人。很多人在拿到特种作业操作证后,因为工作变动、证件保管不善或者忽略了复审时间,导致证书到期失效。这种情况下,很多人会陷入迷茫:…

2026/11/12 5:54:23

电工证相关知识视频怎么找?考前押题资料能帮你省心省力

电工证相关知识视频怎么找?考前押题资料能帮你省心省力 之前考的证在外省能不能转过来?很多学员问过这个问题,特别是在河南安阳的朋友们,不少人在外省考了电工证,现在想在本地发展,担心证书不能用,或者需要重新考试。其实,只要了解清楚流程,外地电工…

2026/11/12 5:54:23

吉隆电工证怎么考取的良心建议:别再被中介坑了

吉隆电工证怎么考取的良心建议:别再被中介坑了 你是不是也像我一样, 不知道去哪报名怕被中介坑 ?现在网上一搜“吉隆电工证怎么考取的”,信息五花八门,真假难辨,搞得人一头雾水。作为一个在许昌劳务班组干了十年的负责人,我可以负责任地说:…

2026/11/12 5:54:23

北京质检局电工证值不值得考?证书过期了不知道怎么复审延期

北京质检局电工证值不值得考?证书过期了不知道怎么复审延期 证书过期了不知道怎么复审延期,这种情况在电工圈里并不少见。尤其是像北京质检局电工证这类专业性强、实操要求高的证书,很多持证人因为工作变动、疏忽管理,导致证书过期,进而影响工作和项目承…

2026/11/12 5:49:23

新泰电工证年审在哪里值不值得考?电工证过期了别慌,教你搞定复审

新泰电工证年审在哪里值不值得考?电工证过期了别慌,教你搞定复审 证书过期了不知道怎么复审延期?你不是一个人!尤其是像我们这种常年在一线的电工师傅,证件年审这件事最容易被忽视,一拖就过了有效期,不仅影响工作,甚至可能面临违规操作的风险。今天就…

2026/11/11 12:42:59

电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。…

2026/11/12 0:04:01

工地太忙根本没时间复习考试?学习电工证到哪里学通过率揭秘

工地太忙根本没时间复习考试?学习电工证到哪里学通过率揭秘 工地太忙根本没时间复习考试?你不是一个人。作为一名在南阳卧龙区干了七八年市政公用工程的电工,我深知这个问题的现实性。电工证不仅是工作的“入场券”,更是职业发展的“通行证”,但备考过程…

2026/11/12 0:04:01

双流电工证考别怕挂科!郑州报考避坑指南全攻略

双流电工证考别怕挂科!郑州报考避坑指南全攻略 实操考试心里没底怕挂科?双流电工证考在郑州报名,很多人因为不了解流程、准备不充分,白白浪费时间和金钱。作为三门峡应届工程类毕业生,我也曾经历过这样的焦虑。今天就从零开始,手把手教你如何避开郑州报…

2026/11/12 0:04:01

之前考的证在外省能不能转过来 怎么报名考电工证培训价格多少

之前考的证在外省能不能转过来 怎么报名考电工证培训价格多少 之前考的证在外省能不能转过来?这个问题确实让不少准备换城市工作的朋友犯了难,尤其像电工证这种实操性很强的证书,很多人担心跨省后证书能不能继续用。其实,只要符合相关流程,是可以顺利转…

2026/11/11 20:27:01

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/10 10:29:37

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑