【问题标题】:the differences of install software in linux [closed]linux中安装软件的区别[关闭]
【发布时间】:2015-08-01 01:59:31
【问题描述】:

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

【问题讨论】:

  • 我投票结束这个问题,因为它与编程没有直接关系。可能适用于 *nix 网站。

标签: ubuntu makefile apt-get dpkg


【解决方案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 安装的程序。如果你想卸载这些程序之一,你最好希望制作它的人在他们的构建脚本中包含一个卸载目标。如果没有,您将不得不手动寻找并删除构建脚本添加到系统中的所有文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-13
    • 2014-02-17
    • 2010-09-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多