我正在 Udemy 上进行完整的道德黑客训练营,并遵循 seos3c.com 的提示,了解安装 Kali Linux 后要做的主要事情。在尝试像讲师一样做所有事情时(除了由于较新的版本,我有 postgresql (15) 16),当我在(希望)安装 Openvas 后运行“Sudo gvm-setup”时,我收到这些错误:
-错误:没有 postgresql 版本使用端口 5432/tcp
-错误:libgvmd 需要 postgresql 16 才能使用端口 5432
-错误:使用 pg_upgradecluster 更新你的 postgresql 集群
我是否忘记提及我是一个十足的菜鸟(参见用户名:0)?一个选项可以是告诉我返回 Kali 的早期快照,然后重试。但我也会遇到同样的问题,所以我需要一些指导。
谢谢。
Greenbone 为社区版产品提供官方文档,其中包括Kali Linux 安装的故障排除。
虽然提供外部链接不被认为是更好的 Stack Overflow 答案,但也许“寻求官方文档”应该是我的主要答案。
其次,这是工作流程:
列出现有 PostgreSQL 集群
┌──(dev㉿kali)-[~]
└─$ pg_lsclusters
Ver Cluster Port Status Owner Data directory Log file
15 main 5432 online postgres /var/lib/postgresql/15/main /var/log/postgresql/postgresql-15-main.log
16 main 5433 online postgres /var/lib/postgresql/16/main /var/log/postgresql/postgresql-16-main.log
尝试升级到现有集群将会失败。
┌──(dev㉿kali)-[~]
└─$ sudo pg_upgradecluster 15 main 16
Error: target cluster 16/main already exists
要完成升级,必须首先停止并删除16/主集群。
sudo pg_ctlcluster 16 main stop
sudo pg_dropcluster 16 main
pg_upgradecluster 命令的基本语法。
pg_upgradecluster [options] oldversion oldclustername [newversion]
要升级 PostgreSQL 集群,您应该使用以下命令:
sudo pg_upgradecluster 15 main
如果您不需要旧的 PostgreSQL 集群,则应将其删除。
sudo pg_dropcluster 15 main
并删除 PostgreSQL 15 软件包
sudo apt autoremove
现在只有新的 PostgreSQL 集群存在。
┌──(dev㉿kali)-[~]
└─$ pg_lsclusters
Ver Cluster Port Status Owner Data directory Log file
16 main 5433 online postgres /var/lib/postgresql/16/main /var/log/postgresql/postgresql-16-main.log
通常,pg_upgradecluster 还会将新版本的 PostgreSQL 配置为使用标准端口 5432,这是 Greenbone 社区版所需的。但是,如果端口没有自动更改,则必须通过编辑 postgresql.conf 配置文件并重新启动 PostgreSQL systemd 服务来手动更改端口。在 Kali 上,postgresql.conf 配置文件位于 /etc/postgresql//main 目录中,但为了确保您可以发出命令来定位配置文件。
sudo -u postgres psql -c 'SHOW config_file'
编辑配置文件并将连接设置端口更改为5432并重新启动PostgreSQL端口。
# - Connection Settings -
#listen_addresses = 'localhost' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost'; use '*' for all
# (change requires restart)
-port = 5433 # (change requires restart)
+port = 5432 # (change requires restart)
max_connections = 100 # (change requires restart)
#reserved_connections = 0 # (change requires restart)
#superuser_reserved_connections = 3 # (change requires restart)
重新启动 PostgreSQL systemd 服务
sudo systemctl restart postgresql
将 PostgreSQL 集群升级到新版本时,pg-gvm 包也必须更新。
┌──(dev㉿kali)-[~]
└─$ apt-cache search pg-gvm
postgresql-16-pg-gvm - PostgreSQL extension for ical object manipulation
更新 aptitude 软件包存储库后,postgresql-16-pg-gvm 与新的 PostgreSQL 版本匹配。因此,您需要安装该软件包:
sudo apt install postgresql-16-pg-gvm -y