Appearance
安装 certiman
CertiMan CLI 官方发布 macOS、Linux 与 Windows 三个操作系统的二进制,涵盖 amd64 与 arm64 架构。一键安装脚本会安装最新版本,并自动校验下载文件的完整性。
一键脚本安装
bash
curl -sSL https://certiman.trustasia.com/install.sh | sudo sh安装脚本依次执行以下操作:
- 自动检测操作系统与 CPU 架构(
amd64/arm64) - 从官方分发地址下载对应二进制
- 校验产物 SHA256 完整性
- 安装到默认目录并加入
PATH;安装目录不在PATH中时,输出将其加入PATH的命令。安装过程失败时,已安装的 certiman 不受影响,仍可继续使用 - 为当前 shell 写入命令补全脚本(写入该 shell 的标准补全目录),无需手动生成
安装完成后运行 certiman version,输出版本号即表示安装成功。
Windows 首次安装后需重新打开终端
安装脚本将 certiman.exe 所在目录加入用户环境变量 PATH。已打开的 PowerShell / CMD 窗口不会自动刷新该变量,在该窗口中运行 certiman version 将提示命令未找到。关闭当前终端窗口并重新打开后即可使用。macOS / Linux 安装完成后可直接使用。
Windows 开启自动续期需以管理员身份运行终端
运行 certiman cron install 注册自动续期定时任务时,必须使用以管理员身份运行的 PowerShell:通过 schtasks 注册系统级任务需要管理员权限,普通权限终端将被拒绝。安装二进制本身不需要管理员权限,建议直接以管理员身份打开 PowerShell,依次完成安装与 cron install。macOS / Linux 注册的是用户级 crontab,无此要求。
默认安装目录
| 平台 | 默认路径 |
|---|---|
| macOS / Linux | /usr/local/bin/certiman |
| Windows | %LOCALAPPDATA%\Programs\certiman\certiman.exe(自动加入用户 PATH) |
支持的环境变量
安装与卸载脚本读取以下环境变量,可在执行前设置以定制行为:
| 变量 | 平台 | 默认值 | 说明 |
|---|---|---|---|
CERTIMAN_INSTALL_DIR | 全部 | 见上表 | 覆盖安装目录 |
CERTIMAN_ARCH | 全部 | 自动检测 | 手动指定架构:amd64 / arm64 |
CERTIMAN_HOME | 全部 | ~/.certiman(Windows %USERPROFILE%\.certiman) | 仅卸载脚本读取:据此定位要保留或 --purge 删除的数据目录 |
例如,将可执行文件安装到自定义目录:
bash
export CERTIMAN_INSTALL_DIR="$HOME/bin"
curl -sSL https://certiman.trustasia.com/install.sh | sh校验方式
安装脚本使用官方发布通道 latest.json 中声明的 SHA256 校验下载文件的完整性。校验失败或缺少校验和时,拒绝安装。
升级
已安装 certiman 时,推荐运行内置的 upgrade 命令升级到最新版本:
bash
# 检查是否有新版本,不安装
certiman upgrade --check
# 直接升级到最新版本
certiman upgradeupgrade 从与安装脚本相同的分发地址下载新版本,校验 SHA256 后替换当前二进制。详见 运维命令 · upgrade。
Windows 平台
升级后安装目录中会保留 certiman.exe.old,无需手动处理。下次运行安装脚本或 certiman upgrade 时将自动清理该文件。
卸载
CertiMan 提供官方卸载脚本,先反注册定时任务,再删除二进制,避免残留失效的定时任务。
bash
# 交互确认,保留 ~/.certiman 数据目录(证书与凭证仍在)
curl -sSL https://certiman.trustasia.com/uninstall.sh | sudo sh
# 跳过确认(用于 CI)
curl -sSL https://certiman.trustasia.com/uninstall.sh | sudo sh -s -- --yes
# 连同 ~/.certiman 一起删除(私钥、证书与 OAuth 凭证)
curl -sSL https://certiman.trustasia.com/uninstall.sh | sudo sh -s -- --purge--purge / CERTIMAN_PURGE 不可逆
--purge 会删除 ~/.certiman/ 下所有内容,包括 OAuth 凭证、所有证书文件与私钥。执行前请务必确认已备份或不再需要这些数据。
卸载会清理什么
| 对象 | 处理 |
|---|---|
| 定时任务 | 仅清理 certiman 注册的定时任务:crontab 中 # BEGIN certiman-cron 与 # END certiman-cron 之间的标记块、Windows 计划任务 certiman-cron,以及早期版本创建的 systemd 单元与 LaunchAgent cn.certcloud.certiman.cron.plist |
| 二进制与命令补全 | 删除二进制与各 shell 的补全文件;Windows 上同时将安装目录从用户 PATH 中移除,并仅删除 $PROFILE 中指向本次安装的补全块(指向其他安装的补全块保留) |
| 数据目录 | 默认保留 ~/.certiman/;仅在指定 --purge 或设置 CERTIMAN_PURGE=1 时删除 |
常见错误
安装脚本失败时输出错误码、可能原因与建议操作,并以退出码 1 结束。常见错误如下:
| 错误码 | 触发条件 | 处理 |
|---|---|---|
INSTALL_MISSING_TOOL | 系统中未安装 curl / wget,或未安装 sha256sum / shasum | 安装 curl 或 wget;Linux 安装 coreutils 以获得校验工具,macOS 使用系统自带的 shasum |
INSTALL_UNSUPPORTED_OS | 操作系统不是 Linux 或 macOS | Windows 使用 install.ps1;其他平台请手动下载二进制 |
INSTALL_UNSUPPORTED_ARCH | CPU 架构不是 amd64 或 arm64 | 通过 CERTIMAN_ARCH 显式指定架构,或自行编译 |
INSTALL_NETWORK | 无法获取版本清单,或二进制下载失败 | 检查网络与代理后重试 |
INSTALL_SCHEMA_MISMATCH | 版本清单的 schema 版本不被当前脚本支持(脚本过旧) | 下载最新的 install.sh / install.ps1 后再运行 |
INSTALL_CHECKSUM_MISSING | 版本清单里没有该平台的合法 SHA256(缺失,或不是 64 位小写十六进制) | 发布元数据不完整或已被篡改,请联系管理员确认发布状态。安装脚本仅安装带完整校验和的官方发布版本 |
INSTALL_CHECKSUM_MISMATCH | SHA256 校验失败(下载不完整或被篡改) | 再次运行安装脚本;持续失败时请联系管理员 |
INSTALL_WRITE_FAILED | 暂存或替换二进制时写入失败(磁盘满、目录不可写、文件系统只读) | 清理磁盘空间或检查目录权限后重试;已安装的 certiman 未被修改,仍可继续使用 |
INSTALL_PERMISSION | 无法创建安装目录,或安装目录不可写 | 使用 sudo 运行,或将 CERTIMAN_INSTALL_DIR 设为可写目录 |
UNINSTALL_PERMISSION | 无权删除已安装的二进制 | 使用 sudo 运行卸载脚本 |
UNINSTALL_CONFIRM_REQUIRED | 需要交互确认,但当前无法向用户提问:打不开控制终端(CI、后台任务),或 PowerShell 以 -NonInteractive 运行 | 指定 --yes(Windows 设置 CERTIMAN_YES=1) |
UNINSTALL_UNSAFE_DATA_DIR | --purge 前的自检未通过:路径为空、指向 / 或家目录本身,或目录里既没有 cc/ 也没有 certiman.yaml | 核对 CERTIMAN_HOME 的取值;确需删除时请手动删除该目录 |
