Merci à Code Friendly
, & amp; Je veux partager comment j'ai résolu mon problème.
Lorsque j'ai mis à jour postgresql
depuis l'application Synaptic, c'est la version postgresql 10 qui a été installée. J'avais donc deux versions de postgresql (10 et 9.6) installées sur ma machine debian. Postgresql 9.6
écoute sur le port 5432
. Postgresql 10
écoute sur le port 5433
au lieu de 5432.
Lorsque j'exécute la commande msfconsole
dans un terminal, bien que metasploit se connecte à la base de données msf sur le port 5432, le message d'erreur suivant apparaît:
[email protected]:~# 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?
Je désactive la version 9.6 postgresql de l'application Synaptic, mais le problème persiste (postgresql 9.6 n'apparaît plus dans la liste des logiciels installés de synaptic);
Mais en exécutant la commande qui suit, nous voyons que la version postgresql 9.6 n’a pas été complètement mise à jour:
[email protected]:~# 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)
Avec la commande suivante, postgresql-9.6 s'est complètement désinstallé:
[email protected]:~# sudo apt-get --purge remove postgresql-9.6
Puis j'ai édité le fichier /etc/postgresql/10/main/postgresql.conf
, changé le numéro de port en 5432 et le problème est résolu.
Un autre message d'erreur apparaît:
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>
J'ai trouvé que la cause était que deux (2) versions de Ruby sont installées sur ma machine Debian, les versions (2.2 et 2.3).
Même chose, je désinstalle la version ruby 2.2 de l'application synaptique et le problème est résolu, metasploit démarre sans problème.