首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >linux下安装软件的差异

问linux下安装软件的差异
EN

Stack Overflow用户
提问于 2015-08-01 09:59:32
回答 1查看 51关注 0票数 0

对我来说,我知道在ubuntu中安装软件的三种方法。首先是"apt-get install",然后是"dpkg",最后是"./configure,sudo make,sudo make install“。但是谁能告诉我这三种方式的区别?

EN

回答 1

Stack Overflow用户

发布于 2015-08-01 10:31:01

apt-get

apt-get install将从您当前启用的存储库中下载并安装软件。默认情况下,这些库通常包括您的发行版(本例中为Ubuntu)的在线软件存储库。

但是,您可能会将各种第三方存储库添加到存储库列表中,它也会检查这些存储库。

这种方法的优点是,只需一条命令即可轻松升级和删除软件包,并且所有软件都来自可信来源。

主要的缺点是,您可能想要安装的某些软件可能无法通过发行版的存储库获得。

dpkg

dpkg -i与apt-get install类似,不同之处在于,它不是在线查找软件,而是要求您希望安装的DEB包已经位于文件系统中的可访问位置。

这种方法的优点是,一旦安装了软件包,就可以像使用apt-get安装的软件包一样,通过apt-get将其删除。此外,您想要的软件的DEB文件可以通过可下载的DEB文件在线获得,但不在任何存储库中。

缺点是,通过这种方法安装的大多数软件不能自动更新,您必须像安装初始软件包一样手动下载和安装任何更新的软件包,并且作为单个DEB文件下载的软件包可能很危险,而且与通过可信存储库下载的软件包相比,本质上更不可靠。

sudo make install

对于那些想要软件的人来说,sudo make install通常是最后的选择,因为他们的系统没有预打包格式的软件。这是安装软件最危险的方式。当您运行此命令时,Make脚本可以访问您的整个文件系统,并可以在它认为必要的任何位置添加或删除文件。这可能会起作用,但也有可能文件最终会出现在不适合您的发行版的位置。

当您的发行版打包软件的维护人员通过您的发行版的存储库使用时,他们通常会调整构建脚本以将文件放在不同的位置或在不同的位置查找依赖项。

建议仅对专家使用sudo make install。只有当你绝对需要最先进的软件包版本,或者你别无选择时,你才会想要这样做。

缺点不胜枚举。这是一个本质上不安全的操作,因此请确保您信任该软件包。虽然apt-get和dpkg会检查依赖关系,但在您自己构建软件时,您需要确保您具有这些依赖关系。此外,如果您尝试安装的软件与已安装的软件包冲突,您将不会收到任何警告,而apt-get和dpkg将警告您冲突。最后,您不能使用apt-get或dpkg卸载通过sudo make install安装的程序。如果你想卸载这些程序中的一个,你最好希望创建它的人在他们的构建脚本中包含一个卸载目标。如果不是,则必须手动查找并删除构建脚本添加到系统中的所有文件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31757459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档