linux中安装软件的不同之处

时间:2015-08-01 01:59:32

标签: ubuntu makefile apt-get dpkg

对我来说,我知道在ubuntu中安装软件的三种方法。 首先是“apt-get install”, 接下来是“dpkg”, 最后一个是“./configure,sudo make,sudo make install”。 但有人能告诉我这三种方式的不同之处吗?

1 个答案:

答案 0 :(得分:1)

apt-get

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

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

此方法的优点是可以使用单个命令轻松升级和删除软件包,并且所有软件都来自可靠来源。

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

dpkg

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

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

缺点是通过此方法安装的大多数软件无法自动更新,您必须以与安装初始软件包相同的方式手动下载和安装任何更新,并且作为单独的DEB文件下载的软件包可能是危险的,并且本质上不太可靠与通过可信存储库下载的那些相比。

sudo make install

sudo make install通常是那些希望软件以预先打包格式存在于系统中的人的最后一种求助方式。这是安装软件最危险的方式。运行此命令时,Make脚本可以访问整个文件系统,并可以在其认为必要的任何位置添加或删除文件。这可能会起作用,但也有可能文件最终会出现在不适合您发行版的地方。

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

sudo make install仅限专家推荐。您唯一想要这样做的时候是您绝对需要软件包的最新版本,或者您没有其他选择。

缺点很多。这是一种固有的不安全操作,因此请确保您信任该软件包。鉴于apt-getdpkg将检查依赖关系,您需要确保在自己构建软件时拥有软件的依赖关系。此外,如果您尝试安装的软件与已安装的软件包发生冲突,则不会收到任何警告,而apt-getdpkg会警告您存在冲突。最后,您无法使用apt-getdpkg卸载通过sudo make install安装的程序。如果要卸载其中一个程序,您最好希望制作它的人在其构建脚本中包含卸载目标。如果没有,您必须手动搜索并删除构建脚本添加到系统中的所有文件。