软件包管理
cosh-cli pkg 提供结构化的软件包操作,会根据平台检测结果选择 dnf、apt、zypper 或 Homebrew,并返回统一的 JSON 响应。
命令
| 命令 | 用途 |
|---|---|
cosh-cli pkg install <package> | 安装软件包 |
cosh-cli pkg remove <package> | 删除软件包 |
cosh-cli pkg search <query> | 搜索软件包名称 |
cosh-cli pkg list --installed | 列出已安装的软件包 |
安装或删除
执行变更前先预览:
cosh-cli pkg install nginx --dry-run
cosh-cli pkg remove nginx --dry-run
去掉 --dry-run 才会真正执行。软件包操作通常需要 root 权限;安装时如果软件包已经存在,命令仍会成功,并在响应中将 already_installed 标记为 true。
搜索
查询会作为一个参数传递,并使用可移植的软件包名称模式。允许的软件包名称字符之外,还可以使用 *、?、[ 和 ]:
cosh-cli pkg search 'libssl*'
cosh-cli pkg search 'python3-?'
cosh-cli pkg search 'lib[0-9]*'
特定后端的正则表达式、Shell 元字符、空查询以及以 - 开头的查询都会被拒绝。cosh-cli 会在支持的后端之间保持完整软件包名称的匹配语义一致。
列表和错误
list --installed 返回软件包名称和版本。搜索结果还会报告每个软件包是否已安装;后端无法提供时,搜索结果中的版本以及软件包列表中的架构或仓库字段可能省略。
常见错误包括 PkgNotFound、PkgBackendError、UnsupportedDistro 和 PermissionDenied。请根据响应中的 error.hint 采取下一步操作。路由详情见支持的平台,响应封装见输出格式。