从源安装软件

Install software from source

我正在尝试在 ubuntu 16.

中安装 postgresql10

已经成功尝试使用 apt repo。(使用 apt-get)

我的目的是在ubuntu 16 中安装postgresql10 并防止它进行apt-upgrade(使用mark-hold)

但这会导致依赖升级,即使我们持有 postgresql package.So 我正在考虑进行 make install postgresql。

如果我执行 make install postgresql,apt-upgrade 会更新 postgresql 和依赖项吗?如果我采用这种方法,我是否可以免受 apt-update 的影响?

如果您卸载所有使用包管理器安装的 PostgreSQL 软件,您从源安装的 PostgreSQL 将不会自动升级。

但是PostgreSQL依赖的软件会升级。如果 Ubuntu 具有良好的包管理,这应该不是问题。

阻止 PostgreSQL 更新是一个非常糟糕的主意。

如果您持有 postgresql 的版本,您的包管理应该知道它需要特定版本的依赖项。只要满足版本要求,它就可以更新依赖项。如果它需要更新一些被 postgresql 包锁定到旧版本的依赖项,它将报告问题。

如果您从源代码构建和安装 postgresql-10,您的 apt 当然不会更新此本地安装。

要构建它,您可能需要一些引用相应系统库的开发库。可能它将使用动态 linked 库构建,因此 apt 稍后可能会更新依赖项(即 postgresql 所需的库和相应的开发库)。

这可能会带来更多问题,因为您的 apt 不知道您在本地安装了可能依赖于特定版本依赖项的 postgresql 版本。

防止 apt 更新与 postgresql 相关的任何内容的唯一方法是,如果其构建过程允许 link 所有库都是静态的。