不同安装方法的更新过程如何进行?

不同安装方法的更新过程如何进行?

据我了解,安装软件包有四种方法:

  1. 从源代码构建并安装
  2. 安装二进制文件
  3. 安装deb文件
  4. 从存储库安装

使用所有方法安装的包在运行时是否更新sudo apt-get update; sudo apt-get upgrade -y;

我的理解是,此过程仅更新从存储库安装的软件包。二进制或源代码安装是否可以在安装程序中包含代码,以便让软件包管理器知道在哪里获取未来的更新?这是否意味着软件包管理器也可以从源安装更新二进制/构建?

答案1

简而言之,您的理解是正确的。包管理器只会更新那些

  1. 作为 Debian 软件包提供,
  2. 配置存储库并
  3. 该存储库仍然有效或处于活动状态。

我所指的包管理器包括apt(或apt-get)、aptitudeSynaptic 包管理器、软件中心等。

具体回答你的问题 -

  1. 从源代码构建并安装

更新需要从源代码重新构建并重新安装应用程序。Debian 软件包管理器不了解这些应用程序。它们无法获得更新。

有一些 debian-source 软件包可以通过软件包管理器从存储库中获取apt-get source,并编译为 debian 软件包。获取这些软件包后,将其构建为 .deb 文件。然后可以安装这些 debian 软件包。如果满足手动安装 .deb 文件的条件,它们将获得更新。

  1. 安装二进制文件

我假设你指的是复制系统中的一些二进制程序以供使用。比如rclone应用已安装。软件包管理器不知道这些应用程序,因此无法使用它们进行更新。

  1. 安装一个 deb 文件。

简短回答中的条件适用于此处。如果您手动安装已配置存储库的 deb 文件,则可以通过包管理器更新这些包。例如,如果您已经下载了 google-chrome .deb 文件,并且您使用手动安装它,dpkg并且您已配置 google chrome 存储库,那么只要满足其他条件,此包就会得到更新。

  1. 从存储库安装

这是很明显的。如果存储库处于活动状态,它们将从包管理器获取更新。

如果删除所有存储库源,包管理器甚至无法更新大多数核心包!

apt-get手册页了解详情。

相关内容