我正在尝试在ubuntu 16中安装postgresql10。
已成功使用apt repo尝试。(使用apt-get)
我的意图是在ubuntu 16中安装postgresql10并防止其apt-upgrade(使用mark-hold)
但这会导致依赖关系的升级,即使我们持有postgresql软件包。因此,我正在考虑进行make install postgresql。
如果我进行安装postgresql,是否会apt-upgrade更新postgresql和依赖关系?如果我遵循这种方法,我是否可以安全地进行apt-update?
答案 0 :(得分:1)
如果您卸载所有通过软件包管理器安装的PostgreSQL软件,从源安装的PostgreSQL将不会自动升级。
但是,PostgreSQL依赖的软件将被升级。如果Ubuntu具有良好的软件包管理,这应该不是问题。
防止PostgreSQL更新是一个非常糟糕的主意。
答案 1 :(得分:1)
如果您拥有postgresql
的版本,则程序包管理应知道它需要某些版本的依赖项。只要满足版本要求,它就可以更新依赖项。如果需要更新一些postgresql
软件包已锁定到较旧版本的依赖项,它将报告问题。
如果您从源代码构建并安装postgresql-10
,那么您的apt
当然不会更新此本地安装。
要构建它,您可能需要一些开发库,这些开发库引用相应的系统库。可能会使用动态链接的库来构建它,因此apt
之后可能会更新依赖关系(即postgresql
所需的库和相应的开发库)。
这可能会更加棘手,因为您的apt
不知道您在本地安装了postgresql
的版本,该版本可能取决于依赖关系的特定版本。
阻止apt
更新与postgresql
相关的任何内容的唯一方法是,如果其构建过程允许静态链接所有库。