PostgreSQL 版本在 Kali / Debian 上安装 OpenVAS 问题

在 Kali linux 上安装 OpenVAS 后,运行 gvm-setup 命令按照说明设置 GVM: https://linuxhint.com/install-openvas-kali-linux/

但是,出现以下错误:

ERROR: The default postgresql version is not 13 required by libgvmd
Error: Use pg_upgradecluster to update your postgres cluster

因此,我检查了安装的 PostgreSQL 版本:

$ su postgres
$ psql --version
psql (PostgreSQL) 13.2 (Debian 13.2-1)

版本是13。如何完成 gvm-setup

stack overflow Installing OpenVAS on Kali / Debian problem with PostgreSQL version
原文答案
author avatar

接受的答案

gvm-setup 将在 port 5432 上寻找 PostgreSQL。如果您安装了多个版本的 PostgreSQL,将为它们分配从 5432 开始的递增端口号。要检查其他版本的 PostgreSQL,您可以查看 /etc/postgresql/ 目录。您可能会看到多个目录,对应于您安装的 PostgreSQL 版本。

您应该进入每个版本并编辑 postgresql.conf 文件,将PostgreSQL 13的端口号更改为5432,并将其他端口号分配给其他版本。因此,如果您安装了 PostgreSQL 12 和 13:

编辑 PostgreSQL 12 配置文件

$ nano /etc/postgresql/12/main/postgresql.conf

找到行 port = 5432 并更改为:

port = 5433

编辑 PostgreSQL 13 配置文件

$ nano /etc/postgresql/13/main/postgresql.conf

找到行 port = 5433 并更改为:

port = 5432

最后重启 PostgreSQL:

systemctl restart postgres

然后再次运行 gvm-setup

gvm-setup

答案:

作者头像

错误消息告诉您,您应该升级您的 postgres 集群。您的系统中可能已经创建了更高版本的 postgres 集群,您可以使用以下命令对其进行检查:

sudo pg_lsclusters

但是,这个自动生成的集群可能并不总是按预期运行(例如,它在与默认端口不同的端口上运行)。因此,最好执行手动集群升级(如果您没有任何自动生成的集群,则可以省略步骤 1)。假设您要从版本 13 升级到 14:

  1. 删除自动生成的集群版本 14(如果服务状态不是 --stop ,则使用 down ):

    sudo pg_dropcluster --stop 14 main
    
  2. 将集群版本 13 迁移到版本 14:

     sudo pg_upgradecluster 13 main
    
  3. 或者,您可以删除旧集群:

     sudo pg_dropcluster --stop 13 main
    

而已!新集群将侦听旧集群先前使用的端口。可能需要在 systemd 中启动或启用 postgres 服务,以便在其他应用程序中使用 PostgreSQL。