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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 sudo apt-get install packagename

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

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

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

dpkg :甚至不是一个合适的包管理器,apt使用它

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

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

synaptic :相当于GUI中的aptitude

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

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

另一个很难被提及的工具是tasksel 。 它用于选择特定任务,标记它们以进行安装,然后安装它们(可能使用aptitude – 不确定)。

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

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