Product SiteDocumentation Site

6.4. 前置:aptitudesynaptic

APT 是 C++ 写成程序,甚源代码在 libapt-pkg 共享程序库内。以此共享程序库创建读者接口 (前置),因为很容易再利用在程序库内的源代码。过去 apt-get 只当做 libapt-pkg 的测试前置,但此事实也渐趋模糊。

6.4.1. aptitude

aptitude 是交互程序,可用于终端机的半图形模式可浏览已安装与可得软件包,搜索所有可用信息,并选择安装或移除的软件包。此程序专为管理者而设计,缺省的对象比 apt-get 的对象更聪慧,且其接口更容易理解。
The aptitude 软件包管理者

图 6.1. The aptitude 软件包管理者

开始的时候,aptitude 依状态显示所有的软件包 (已安装、未安装、或已安装在不在镜射站 — 其他的区块显示工作、虚拟软件包、与最近才出现在镜射站的添加软件包)。还有其他的查看方法,提供主题式浏览。所有的情况下,aptitude 在屏幕显示各主题与软件包的清单。以树状组织主题,可以用 Enter[] 按键展开与收起枝叶。+ 应用于标示可安装的软件包,- 标示可移除的软件包与 _ 标示可清除的软件包 (这些按键也可用遟主题,对应的行动适用于主题的所有软件包)。u 用于更新可用软件包清单与 Shift+u 准备全系统的更新。g 切换摘要查看要求的改变 (并再次键入 g 纳入此等改变),与 q 离开现在的查看。若您在初始的查看,将关闭 aptitude
键入 / 及搜索的键词,就能搜索软件包。键词对应至软件包的名称,也可应用于描述内容 (若前置 ~d、区块 (前置 ~s) 或文档内的其他字词。同样的键词可以筛选显示软件包的清单:键入 l 键 (如同在 limit 之内) 与其他键词。
管理 Debian 软件包的 “自动旗标” (见 第 6.2.7 节 “自动追踪已安装的软件包”),对 aptitude 而言是小事一椿。可以用 Shift+m 浏览已安装并标示为自动的软件包或以 m 键移除标示。在软件包清单内,“自动软件包” 标示为 “A”。此功能也可简单看到机器内正在使用的软件包,不必看那些程序库与相依性繁琐的细节。相关的键词可以与 l (启动筛选模式) 一起使用的是 ~i!~M。它的作用是只看已安装的软件包 (~i) 不是被标示为自动(!~M) 的软件包。

6.4.1.1. 管理推荐、建议与工作

aptitude 另个有趣的功能是尊重软件包间的建议,但给使用以个案方式选择不安装的自由。例如,gnome 软件包建议 gdebi (及其他选择)。选择前者安装时,后者也被选取 (若未安装在系统内则标记为自动)。键入 g 将使其更明显:gdebi 显示在满足相依性的自动安装软件包清单里的待决摘要画面。然而,在确认前可以不选择,而自行决定不要安装。
此推荐追踪功能不适用于更新。例如,若 gnome 新版建议一个不包括稍前版本的软件包,就不会安装它。然而,还是列在屏幕,管理者仍可点击并安装它。
同时把软件包间的建议列入考量,但调整入特别的情况。例如,自从 gnome 建议 dia-gnome,后者显示在屏幕的待决区 (其他软件包的建议区)。这样子,就能看见且管理者可以决定是否把它们列入考量。毕竟只是建议而不是相依或提议,软件包仍不会被列入自动 — 需要读者的人工介入 (因此,软件包不会被标示为自动)。
在同样的精神下,记得 aptitude 以智能的手法使用工作的概念。在屏幕的软件包清单中显示工作,可以安装或移除选定的完整工作,或浏览包括选定较小工作的软件包清单。

6.4.1.2. 较佳的解决算法

总结本段的内容,在解决困难情境时,aptitude 的演算较 apt-get 更为复杂。需要运行一组工作且可能带领至另个支离的系统,aptitude 评估若干可能的状况以递减关联的方式呈现。然而,这些算法不是失败的证明。幸运的是,总有手动选择运行的可能。现在的选择带领至矛盾的地方时,屏幕的上方就指出若干 “破碎” 的软件包 (and you can directly navigate to those packages by pressing b)。就可能以人工方式创建解决此问题的方案。尤其是,可以按 Enter 键选取近用多个可用的版本。选定的版本可以解决问题,就勇敢不迟疑地使用其功能。破碎软件包渐趋于零后,您可安全地进入待决区的摘要画面,于使用前再次确认。

6.4.2. synaptic

synaptic 是 Debian 的软件包图形管理器,在 GTK+/GNOME 的基础上提供清楚有效的图形接口。它以很多的立即可用筛选器提供快速近用添加的软件包、安装软件包、可升级软件包、过时软件包等。经由这些清单浏览,选定对软件包的工作 (安装、升级、移除、清除);不会立即运行此等工作,但把它们放入工作清单。单键按下可运行的工作,接着就可运行。
synaptic 软件包管理器

图 6.2. synaptic 软件包管理器