浅色/深色模式
基础软件包管理操作
在 deepin 系统中有许多基于 APT 的软件包管理工具可以在 Debian 系统上进行基于仓库的软件包管理操作。在这里,我们将介绍 3 种基本的软件包管理工具:apt,apt-get / apt-cache 和 aptitude以及一个包文件查询工具:apt-file 。
对于涉及软件包安装或更新软件包元数据的软件包管理操作,你必须有 root 权限。
apt
vs. apt-get
/ apt-cache
vs. aptitude
尽管 aptitude
是作者主要使用的一个非常好的可互动工具,但不建议使用其进行跨版本升级。
apt-get 和 apt-cache 是最基础 的基于 APT 的软件包管理工具。
apt-get 和 apt-cache 只提供命令行用户界面。
apt-get 是进行跨版本的主系统升级等操作的最合适工具。
apt-get 提供了一个强大的软件包依赖解析器。
apt-get 对硬件资源的要求不高。它消耗更少的内存并且运行速度更快。
apt-cache 提供了一个 标准的正则表达式来搜索软件包名称和描述。
apt-get 和 apt-cache 可以使用 /etc/apt/preferences 来管理软件包的多个版本,但这非常繁琐。
apt 命令是一个用于软件包管理的高级命令行界面。它基本上是 apt-get、apt-cache 和类似命令的一个封装,被设计为针对终端用户交互的界面,它默认启用了某些适合交互式使用的选项。
apt 工具在用户使用 apt install 安装软件包时提供了一个友好的进度条。
在成功安装下载的软件包后,apt 将默认删除缓存的 .deb 软件包。
建议用户使用新的 apt(8) 命令用于 交互式的使用场景,而在 shell 脚本中使用 apt-get(8) 和apt-cache(8) 命令。
aptitude 命令是最通用的基于 APT 的软件包管理工具。
aptitude 提供了一个全屏的交互式文本用户界面。
aptitude 同样也提供了一个命令用户界面。
aptitude 是用于日常软件包管理(例如检查已安装的软件包和搜索可用的软件包)的最合适工具。
aptitude 对硬件资源的要求更高。它消耗更多的内存并且运行速度更慢。
aptitude 提供一个增强的正则表达式来搜索所有的软件包元数据。
aptitude 可以管理软件包的多个版本,并且不使用 /etc/apt/preferences,这会十分直观。
命令行中的基础软件包管理操作
下面是使用 apt
(8), aptitude
(8) 和 apt-get
(8) / apt-cache
(8) 的命令行基本软件包管理操作。
apt 语法 | aptitude 语法 | apt-get / apt-cache 语法 | 说明 |
---|---|---|---|
apt update | aptitude update | apt-get update | 更新软件包档案库元数据 |
apt install foo | aptitude install foo | apt-get install foo | 安装 “foo” 软件包的候选版本以及它的依赖 |
apt upgrade | aptitude safe-upgrade | apt-get upgrade | 安装已安装的软件包的候选版本并且不移除任何其它的软件包 |
apt full-upgrade | aptitude full-upgrade | apt-get dist-upgrade | 安装已安装的软件包的候选版本,并且需要的话会移除其它的软件包 |
apt remove foo | aptitude remove foo | apt-get remove foo | 移除 “foo” 软件包,但留下配置文件 |
apt autoremove | N/A | apt-get autoremove | 移除不再需要的自动安装的软件包 |
apt purge foo | aptitude purge foo | apt-get purge foo | 清除 “foo” 软件包的配置文件 |
apt clean | aptitude clean | apt-get clean | 完全清除本地仓库的软件包检索文件 |
apt autoclean | aptitude autoclean | apt-get autoclean | 清除本地仓库中过时软件包的软件包检索文件 |
apt show foo | aptitude show foo | apt-cache show foo | 显示 “foo” 软件包的详细信息 |
apt search 正则表达式 | aptitude search regex | apt-cache search regex | 搜索匹配 regex 的软件包 |
N/A | aptitude why regex | N/A | 解释匹配 regex 的软件包必须被安装的原因 |
N/A | aptitude why-not regex | N/A | 解释匹配 regex 的软件包不必安装的原因 |
N/A | aptitude search '~i!~M' | apt-mark showmanual | 列出手动安装的软件包 |
不建议使用apt autoremove,因为这会损害到某些打包不规范的包。
apt
/ apt-get
和 aptitude
能够混用,没有大问题。
“aptitude why regex
” 可以通过 “aptitude -v why regex
” 列出更多的信息。类似的信息可以通过"apt rdepends package
" 或 “apt-cache rdepends package
” 获取。
当 aptitude
命令在命令行模式下启动后遇到了一些问题(例如软件包冲突),你可以在之后的提示中按下 “e
” 键切换到全屏的交互模式。
你可以在 “aptitude
” 后面使用的命令选项。
命令选项 | 说明 |
---|---|
-s | 模拟命令的结果 |
-d | 仅下载,不进行安装/更新 |
-D | 在自动安装和删除前,显示简要的说明 |
更多内容参见 aptitude
(8) 和位于 “/usr/share/doc/aptitude/README
” 的 “aptitude 用户手册”。
aptitude 的交互式使用
此处不会详细解释其使用方式,详见deepin wiki 以及 Debian对其介绍
aptitude按键绑定:
快捷键 | 键绑定功能 |
---|---|
F10 或 Ctrl-t | 菜单 |
? | 显示按键帮助(更加完整的清单) |
F10 → 帮助 → 用户手册 | 显示用户手册 |
u | 更新软件包档案库信息 |
+ | 标记该软件包以便升级或安装 |
- | 标记该软件包以便移除(保留配置文件) |
_ | 标记该软件包以便清除(移除配置文件) |
= | 将软件包设为保持状态 |
U | 标记所有可升级包(动作如同 full-upgrade) |
g | 开始 下载 并 安装 所选择包 |
q | 退出该界面并保存变更 |
x | 退出该界面并清除变更 |
Enter | 查看软件包的信息 |
C | 查看软件包的变更记录 |
l | 变更软件包的显示限制 |
/ | 搜寻匹配的第一个软件包 |
|重复上一个搜索 |