跳到主要内容

支持的发行版

cosh-ng 通过读取 /etc/os-release(Linux)或调用 sw_vers(macOS)自动检测 当前操作系统,并路由到对应的包管理器和服务管理器后端。

支持矩阵

发行版包管理器服务管理器备注
Alinux (2/3/4)dnfsystemd阿里云原生 Linux
CentOS 7/8/9dnfsystemd
Fedoradnfsystemd
Ubuntuapt-getsystemd
Debianapt-getsystemd
openSUSE Leap/Tumbleweedzyppersystemd
macOSbrew仅 pkg 子系统可用

检测逻辑

发行版检测通过 Distro::detect() 实现:

  1. 编译目标为 macOS 时,调用 sw_vers -productVersion 获取版本
  2. Linux 系统读取 /etc/os-release,解析 IDVERSION_ID 字段
  3. 根据 ID 映射到已知发行版变体
  4. 未识别的 ID 归入 Unknown,大多数操作返回 UnsupportedDistro 错误

包管理器映射

发行版 ID包管理器安装命令搜索命令
alinux / centos / fedoraDnfdnf install -ydnf search -q
ubuntu / debianAptapt-get install -yapt-cache search
opensuse-leap / opensuse-tumbleweed / slesZypperzypper install -yzypper search
macOSBrewbrew installbrew search

服务管理器

所有 Linux 发行版统一使用 systemd(systemctl)。macOS 不支持 svc 子系统。

添加新发行版支持

如需支持新的发行版,参见开发者文档 新增发行版适配指南