存档

文章标签 ‘apt’

apt-get与aptitude

2010年1月26日 flex 没有评论

aptitude install默认会安装recommends的包,etch中apt-get不会,而lenny中则和aptitude相同。两者都不会安装suggests。

aptitude remove会清除所有不需要的包,apt-get remove只会清除指定包,但是有autoremove选项。

如果希望只安装必要的包的话,可以用apt-get –no-install-recommends,aptitude可以在设置里取消Install recommended packages automatically。

或者,在/etc/apt/apt.conf中根据需要写入以下配置:


APT::Install-Recommends "false";
APT::Install-Suggests "false";
Aptitude::Recommends-Important "false";
Aptitude::Keep-Suggests "false";

附录:

2.2.8 软件包依赖关系

Debian 软件包管理系统依赖声明,它描述了这一事实:一些软件包需要其它软件包被安装才能正常运行或运行得更好。

  • 软件包 A 依赖(depends)软件包 B:要运行A必须安装 B。在有些情况下,A 不仅依赖 B,还要求 B 的特定版本。版本依赖通常有最低版本限制,A 更依赖于B的最新版而非某个特定版本。
  • 软件包 A 推荐(recommends)软件包 B:软件包维护者认为所有用户都不会喜欢缺少某些功能的 A,而这些功能需要 B 来提供。
  • 软件包 A 建议(suggests)软件包 B:B 中某些文件与 A 的功能相关,并能够增强 A 的功能。这种关系通过声明软件包 B 增强 Enhances 软件包 A 来表示。
  • 软件包 A 与软件包 B 冲突(conflicts):如果系统中安装了 B 那么 A 无法运行。“Conflicts”常和“replaces”同时出现。
  • 软件包 A 替换(replaces)软件包 B:B 安装的文件被 A 中的文件移除和覆盖了。
  • 软件包 A 提供(provides)软件包 B:A 中包含了 B 中的所有文件和功能。

上述术语使用方法的更详细的信息参阅 Packaging Manual 和 the Policy Manual。

注意,aptitude 和 dselect 可以对 recommends 和 suggests 类软件包进行更细粒度的操作,apt-get 只会简单的下载安装 depends 类软件包而不管 recommends 和 suggests 类软件包。这两个程序均正式使用 APT 作为其后端。