用途:面向 gpsd 守护进程部署、协议消费者、libgps 客户端、接收机配置、PPS/NTP/chrony 授时集成、抓包回放与后处理等任务,提供按主题查阅的参考知识。基线为 gpsd 3.25,并覆盖至最新文档状态(含 3.27.6 开发流)。
主要能力与用法:涵盖守护进程架构与生命周期、数据源与热插拔、JSON 协议、libgps/C/Python 客户端、gpsctl 与 ubxtool 接收机控制、精密授时、构建安装、抓包回放与诊断等主题。常用命令包括 gpsd -l、gpsd -D 5 -N -n /dev/ttyUSB0、gpsd -f 8O1 -s 115200 /dev/ttyUSB0;构建使用 scons && scons check、scons install、scons udev-install;抓包回放使用 gpspipe -R -n 100 > receiver.log、gpsfake -1 -P 2948 receiver.log、gpsdecode < receiver.log。libgps 客户端须检查 GPSD_API_MAJOR_VERSION 与 GPSD_API_MINOR_VERSION,未知主版本应在构建期拒绝。
安全与兼容:处理不可信输入须使用 3.27.1 或更高版本,以修复 CVE-2025-67268 与 CVE-2025-67269。不能仅凭 3.27 版本号推断 API 兼容;守护进程、命令行客户端与库应保持同一版本。gps_send() 已弃用,gps_stream() 用于 watch 策略,gps_query() 已移除,gps_read() 为当前流式读取 API。TPV alt 已弃用,改用 altHAE 或 altMSL;RTCM3 JSON 转储不完整且有缺陷,不可作为生产解码接口。PyPI 上名为 gpsd 的包无关且已过时。
限制:具体平台支持、性能与效果资料未提供。