从源代码安装软件

时间:2020-01-09 13:02:02

标签: linux postgresql ubuntu makefile apt

我正在尝试在ubuntu 16中安装postgresql10。

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

我的意图是在ubuntu 16中安装postgresql10并防止其apt-upgrade(使用mark-hold)

但这会导致依赖关系的升级,即使我们持有postgresql软件包。因此,我正在考虑进行make install postgresql。

如果我进行安装postgresql,是否会apt-upgrade更新postgresql和依赖关系?如果我遵循这种方法,我是否可以安全地进行apt-update?

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:1)

如果您拥有postgresql的版本,则程序包管理应知道它需要某些版本的依赖项。只要满足版本要求,它就可以更新依赖项。如果需要更新一些postgresql软件包已锁定到较旧版本的依赖项,它将报告问题。

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

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

这可能会更加棘手,因为您的apt不知道您在本地安装了postgresql的版本,该版本可能取决于依赖关系的特定版本。

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