2.2.2. 命令行中的基础软件包管理操作

下面是使用 apt(8), aptitude(8) 和 apt-get(8) / apt-cache(8) 的命令行基本软件包管理操作。

表 2.6. 使用 apt(8), aptitude(8) 和 apt-get(8) / apt-cache(8) 的命令行基本软件包管理操作

apt 语法aptitude 语法apt-get / apt-cache 语法说明
apt updateaptitude updateapt-get update更新软件包档案库元数据
apt install fooaptitude install fooapt-get install foo安装 “foo” 软件包的候选版本以及它的依赖
apt upgradeaptitude safe-upgradeapt-get upgrade安装已安装的软件包的候选版本并且不移除任何其它的软件包
apt full-upgradeaptitude full-upgradeapt-get dist-upgrade安装已安装的软件包的候选版本,并且需要的话会移除其它的软件包
apt remove fooaptitude remove fooapt-get remove foo移除 “foo” 软件包,但留下配置文件
apt autoremoveN/Aapt-get autoremove移除不再需要的自动安装的软件包
apt purge fooaptitude purge fooapt-get purge foo清除 “foo” 软件包的配置文件
apt cleanaptitude cleanapt-get clean完全清除本地仓库的软件包检索文件
apt autocleanaptitude autocleanapt-get autoclean清除本地仓库中过时软件包的软件包检索文件
apt show fooaptitude show fooapt-cache show foo显示 “foo” 软件包的详细信息
apt search <正则表达式>aptitude search <regex>apt-cache search <regex>搜索匹配 <regex> 的软件包
N/Aaptitude why <regex>N/A解释匹配 <regex> 的软件包必须被安装的原因
N/Aaptitude why-not <regex>N/A解释匹配 <regex> 的软件包不必安装的原因
N/Aaptitude search ‘~i!~M’apt-mark showmanual列出手动安装的软件包
[注意]注意

虽然 aptitude 命令提供了丰富的功能,例如增强的软件包解析器,但它的复杂程度导致了(或可能导致)一些退步,例如 Bug #411123Bug #514930Bug #570377。如有疑问,请使用 apt,apt-getapt-cache 命令来替代 aptitude 命令。

[注意]注意

因为在 lenny 版本之后的 Debian 系统中, aptapt-getaptitude 会共享自动安装的软件包的状态(参见第 2.5.5 节 “APT 的软件包状态”),因此你可以混合使用这些工具而不会出现严重的麻烦(参见 Bug #594490)。

aptitude why <regex>” 可以通过 “aptitude -v why <regex>” 列出更多的信息。类似的信息可以通过”apt rdepends <package>“ 或 “apt-cache rdepends <package>” 获取。

aptitude 命令在命令行模式下启动后遇到了一些问题(例如软件包冲突),你可以在之后的提示中按下 “e” 键切换到全屏的交互模式。

你可以在 “aptitude” 后面使用的命令选项。

表 2.7. aptitude(8) 中重要的命令选项

命令选项说明
-s模拟命令的结果
-d仅下载,不进行安装/更新
-D在自动安装和删除前,显示简要的说明

更多内容参见 aptitude(8) 和位于 “/usr/share/doc/aptitude/README” 的 “aptitude 用户手册”。

[提示]提示

dselect 软件包依旧可用,并且曾是之前发布的版本中首选的全屏交互式软件包管理工具。