のおかげでCode Friendly
、問題の解決方法を共有したいと思います。
postgresql
Synapticアプリケーションから更新したとき、インストールされたのはpostgresql 10バージョンです。そのため、debianマシンに2つのバージョンのpostgresql(10および9.6)をインストールしました。Postgresql 9.6
ポートでリッスンします5432
。5432の代わりPostgresql 10
にポートでリッスンします5433
。
msfconsole
端末でコマンドを実行すると、metasploit はポート5432でmsfデータベースに接続しますが、次のエラーメッセージが表示されます。
root@kali:~# msfconsole
[-] Failed to connect to the database: could not connect to server: Connection refused
Is the server running on host "localhost" (::1) and accepting TCP/IP connections on port 5432?
9.6のpostgresqlバージョンをSynapticアプリケーションからアンインストールしましたが、問題は解決しません(postgresql 9.6はsynapticのインストール済みソフトウェアリストに表示されなくなりました)。
しかし、次のコマンドを実行すると、バージョンpostgresql 9.6が完全にインストールされていないことがわかります。
root@kali:~# dpkg -l | grep postgresql
ii postgresql 10+187 all object-relational SQL database (supported version)
ii postgresql-9.6 ** all object-relational SQL database, version 9.6 server
ii postgresql-10 10.0-1+b1 amd64 object-relational SQL database, version 10 server
ii postgresql-client-10 10.0-1+b1 amd64 front-end programs for PostgreSQL 10
ii postgresql-client-common 187 all manager for multiple PostgreSQL client versions
ii postgresql-common 187 all PostgreSQL database cluster manager
ii postgresql-contrib 10+187 all additional facilities for PostgreSQL (supported version)
次のコマンドで、postgresql-9.6は完全にアンインストールされました。
root@kali:~# sudo apt-get --purge remove postgresql-9.6
次に、ファイルを編集し/etc/postgresql/10/main/postgresql.conf
、ポート番号を5432に変更して、問題を解決しました。
別のエラーメッセージが表示されます。
Creating initial database schema /usr/local/bin/bundle:22:in ``load': cannot load such file -- /usr/lib/ruby/exe/bundle (LoadError) from /usr/local/bin/bundle:22:in `<main>
原因は、Debianマシンのバージョン(2.2および2.3)にRubyの2つのバージョンがインストールされていることにあります。
同じことで、シナプスアプリケーションからruby 2.2バージョンをアンインストールすると、問題は解決され、metasploitは問題なく起動します。