it-swarm.cn

包管理器之间有什么区别?

apt-getaptitudesynaptic之间有什么区别,哪一个是正常日常包管理的推荐选择?

这是一个基本问题,但我认为这是一个很好的信息,在网站上,除了我相对较新的Ubuntu所以我可以使用专家解释。

129
David Z

可能最受欢迎的包管理器是apt-get,aptitude,synaptic和Software Center。还有其他(Linux Mint有自己的,有一些是为KDE设计的),但这些是你最经常遇到的。

apt-get是一个简单的命令行工具。如果您知道要安装的内容的确切包名,并且不想花时间点击GUI来获取它,这很方便。

aptitude和apt-get非常相似,我听说它可以更好地处理疯狂的依赖情况。哪一个真的更好是值得商榷的。

synaptic是一个低级GUI。如果您是一个相当高级的用户但对命令行实用程序不满意,这是一个不错的选择。

软件中心是一个非常高级,新用户友好的GUI。软件很好地分类,如果你不确定你想要什么应用程序,你可以快速找到你需要的东西。软件中心的突出之处在于它是此列表中唯一允许您购买商业应用程序的包管理器。

dpkg是大多数基于Debian的系统的较少使用的低级包管理器标准。实际上,apt-get,aptitude,synaptic和Ubuntu软件中心都只是dpkg或apt的前端,它本身就是dpkg的前端。

在回答您的问题时,“哪一个是正常日常包管理的推荐选择”,我想说软件中心建议用于大多数用途。但是,随着您获得更多经验,您会发现较低级别的包管理器的一些功能非常有用。

111
Michael Crenshaw

Debian FAQ 对不同的包管理器有很好的解释。 (dpkgapt-getaptitudetaskselsynaptic

18
lfaraone

作为 mac9416的优秀答案 的补充,Kubuntu提供与Ubuntu相同的命令行工具,即dpkgapt-getaptitude。还有两个图形包管理器:

Adeptapt-get的直接GUI,它允许您编辑源列表,按类别或按名称浏览包,查看其状态,以及安装/卸载他们。

KPackageKit是PackageKit的简单GUI,它是一个较新的交叉分发包管理系统,在后台使用apt-get。它允许您按各种标准搜索程序,安装和卸载程序,进行例行升级以及编辑源列表。

13
David Z

我个人更喜欢apt-get,因为它是一个命令行程序。安装包的语法非常简单:

 Sudo apt-get install 包裹名字

我每天都使用apt-get来安装和删除软件包。

Synaptic是基于GUI的,aptitude是基于文本的。

6
Nathan Osman

基本上,他们只是在低级别方面有所不同。

dpkg:即使是正确的包管理器,也不会使用它

apt-get:命令行,仅当您知道包名称时

aptitude:基于文本,但用户友好

synaptic:相当于GUI中的aptitude

软件中心:适用于日常用户

顺便说一句,这些都是apt的前端(除了dpkg),它是Ubuntu上唯一的包管理器。

5
Sőrés Viktor

上面提到的aptitude和apt-get之间的一个关键区别是aptitudeapt-get不同,它会在存在依赖冲突的情况下为您提供不同的选项。 apt-get将失败。由于这个原因,aptitude更灵活,更灵活。从未使用过GUI包管理器,我不知道Synaptic和其他人如何处理这种情况。

1
ShankarG

另一个几乎没有提到的工具是tasksel。它用于选择特定任务,标记它们以进行安装,然后安装它们(可能使用aptitude - 不确定)。

运行tasksel --list-tasks以查看可用的任务。

1
Tshepang