Linux 从源代码安装软件

Linux 从源代码安装软件,linux,postgresql,ubuntu,makefile,apt,Linux,Postgresql,Ubuntu,Makefile,Apt,我正试图在ubuntu 16中安装postgresql10 已成功尝试apt回购。(使用apt get) 我的目的是在Ubuntu16中安装postgresql10,并阻止它进行apt升级(使用mark hold) 但即使我们持有postgresql包,这也会导致依赖项升级。所以我想使用make安装postgresql 如果我真的安装postgresql,apt会升级更新postgresql和依赖项吗?如果我采用这种方法,我不会被apt更新吗 如果卸载与package manager一起安装的所

我正试图在ubuntu 16中安装postgresql10

已成功尝试apt回购。(使用apt get)

我的目的是在Ubuntu16中安装postgresql10,并阻止它进行apt升级(使用mark hold)

但即使我们持有postgresql包,这也会导致依赖项升级。所以我想使用make安装postgresql


如果我真的安装postgresql,apt会升级更新postgresql和依赖项吗?如果我采用这种方法,我不会被apt更新吗

如果卸载与package manager一起安装的所有PostgreSQL软件,则从源代码安装的PostgreSQL不会自动升级

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


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

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

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

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

这可能会造成更大的问题,因为您的
apt
不知道您在本地安装了可能取决于依赖项的特定版本的
postgresql

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