什么是 AUPT?
AUPT(Advanced Unified Package Tool)是一个统一的 Linux 包管理调度工具。它的核心目标是:
统一命令入口 + 自动识别发行版 + 自动选择包管理器
在 Linux 生态中,不同发行版使用不同的包管理器(如 Debian 系的 apt、Arch 系的 pacman、Fedora 的 dnf 等),AUPT 将所有这些差异封装起来,提供一个统一的命令行接口,让用户无需记忆各个发行版特有的包管理命令。
一、核心功能
1.1 基础操作
AUPT 支持最常见的基础包管理操作,命令简洁统一:
1 | aupt install vim # 安装软件包 |
1.2 指定包管理器
当需要强制使用某个特定的包管理器时,可以直接在命令中指定:
1 | aupt apt install nginx # 强制使用 apt |
1.3 自动包管理器选择策略
当用户不指定包管理器时,AUPT 会按照以下优先级自动选择:
1 | 系统原生包管理器(apt / pacman / dnf / zypper) |
查找流程:
- 先查询系统原生包管理器(如
apt、pacman、dnf、zypper)中是否存在目标包; - 若不存在,则查询
flatpak; - 若仍不存在,则查询
snap。
1.4 版本控制支持
支持指定软件包的安装版本,并自动进行版本解析与 fallback:
1 | aupt install gcc==9 |
功能要点:
- 支持
==和@两种版本指定语法 - 自动解析版本号
- 目标版本不可用时自动 fallback
1.5 镜像源自动优化
AUPT 提供了便捷的镜像源管理功能:
1 | aupt mirror auto # 自动测速并选择最快镜像 |
功能包括:
- 自动测速各镜像源
- 自动选择速度最快的镜像
- 自动修改对应包管理器的源配置文件
- 自动更新软件包索引
1.6 包搜索与信息查询
1 | aupt search redis # 搜索软件包 |
1.7 系统诊断功能
1 | aupt doctor |
该命令用于检测当前系统的包管理环境状态,包括:
- 各包管理器的可用状态
- 网络连通性
- 镜像源状态
二、系统架构
AUPT 采用 分层架构 + 插件架构 设计,保证了良好的可扩展性和可维护性。
目录结构
1 | aupt |
三、CLI 设计规范
AUPT 的标准命令格式为:
1 | aupt <manager?> <action> <package> [options] |
完整命令列表
| 命令 | 说明 |
|---|---|
aupt install <pkg> |
安装软件包 |
aupt remove <pkg> |
卸载软件包 |
aupt update |
更新软件包索引 |
aupt upgrade |
升级所有软件包 |
aupt search <pkg> |
搜索软件包 |
aupt info <pkg> |
查看软件包信息 |
aupt mirror auto |
自动优化镜像源 |
aupt mirror list |
列出可用镜像源 |
aupt mirror switch <name> |
切换镜像源 |
aupt doctor |
系统诊断 |
aupt clean |
清理缓存 |
aupt config |
配置管理 |
aupt benchmark |
性能基准测试 |
四、安装与卸载
方式一:使用安装脚本(推荐)
默认执行用户级安装,使用系统自带 python3:
1 | git clone git@github.com:wusi321/aupt.git |
安装完成后,aupt 命令会通过 console_script 机制暴露为全局可执行命令:
1 | aupt doctor |
方式二:直接使用 pip
1 | cd ~/aupt |
安装完成后可直接执行:
1 | aupt doctor |
系统级安装
如果希望所有用户都可直接执行 aupt,可以使用系统级安装:
1 | cd ~/aupt |
或直接使用 pip:
1 | cd ~/aupt |
console_script 说明
项目在 pyproject.toml 中声明了入口点:
1 | [project.scripts] |
这意味着安装完成后,Python 打包系统会自动生成一个名为 aupt 的启动命令,实际调用入口函数 aupt.cli.commands:main。无需手动创建软链接或编写启动包装器。
卸载
用户级卸载:
1 | cd ~/aupt |
系统级卸载:
1 | cd ~/aupt |
五、APT 后端说明
在 Debian / Ubuntu 系系统上,AUPT 的 apt 后端默认采用更稳定的底层脚本接口:
- 安装 / 卸载 / 更新 / 升级 / 清理 → 使用
apt-get - 搜索 / 信息查询 → 使用
apt-cache
这样可以避免直接使用 apt 命令时常见的脚本接口警告,更适合自动化调用与跨环境运行。
六、PATH 说明
用户级安装通常会把命令安装到:
1 | ~/.local/bin |
如果安装完成后终端提示找不到 aupt 命令,请将以下内容添加到 ~/.bashrc 或 ~/.zshrc:
1 | export PATH="$HOME/.local/bin:$PATH" |
然后重新打开终端,或执行:
1 | source ~/.bashrc |
七、总结
AUPT 的核心价值在于 “一次学习,到处使用”。无论你使用哪种 Linux 发行版,都可以通过同一条命令完成包管理操作。它自动识别系统环境、智能选择包管理器,并提供了镜像源优化、版本控制等实用功能,极大降低了 Linux 包管理的使用门槛。