我有 ubuntu 9.10(karmic),当我尝试安装新程序时,postgres 被安装为该程序的依赖项,如果安装成功,则完全没有问题,但出现错误,Postgres 未安装,应用程序无法正常工作。我尝试更新 Postgres,但没有任何效果,只有消息“出现错误,无法安装您的 postgres”
现在我想从我的机器上彻底删除 Postgres,我该怎么做呢?我不想每次启动时都终止该进程。我只想删除 Postgres。
什么是命令行?
谢谢大家。
答案1
最简单的方法是打开终端并输入:
sudo apt-get --purge remove postgresql postgresql-*
这还会提示您删除依赖于 Postgres 的软件,在本例中您似乎想要这样做。
我个人没有运行 9.10 或 Postgres,因此 Postgres 可能会分几个部分自行安装。在这种情况下,一个简单的:
dpkg -l | grep postgres
将为您提供 Postgres 安装的软件包列表。然后,只需使用相同的“apt-get --purge remove ....”命令,但不要只输入 postgresql,而是输入每个软件包名称,并用空格分隔,例如:
sudo apt-get --purge remove postgresql postgresql-doc postgresql-common
当然,这取决于已安装的软件包列表。
答案2
对我有用的步骤Ubuntu 8.04.2
去除postgres 8.3
列出所有 Postgres 相关软件包
dpkg -l | grep postgres ii postgresql 8.3.17-0ubuntu0.8.04.1 object-relational SQL database (latest versi ii postgresql-8.3 8.3.9-0ubuntu8.04 object-relational SQL database, version 8.3 ii postgresql-client 8.3.9-0ubuntu8.04 front-end programs for PostgreSQL (latest ve ii postgresql-client-8.3 8.3.9-0ubuntu8.04 front-end programs for PostgreSQL 8.3 ii postgresql-client-common 87ubuntu2 manager for multiple PostgreSQL client versi ii postgresql-common 87ubuntu2 PostgreSQL database-cluster manager ii postgresql-contrib 8.3.9-0ubuntu8.04 additional facilities for PostgreSQL (latest ii postgresql-contrib-8.3 8.3.9-0ubuntu8.04 additional facilities for PostgreSQL
删除上面列出的所有内容
sudo apt-get --purge remove postgresql postgresql-8.3 postgresql-client postgresql-client-8.3 postgresql-client-common postgresql-common postgresql-contrib postgresql-contrib-8.3
删除以下文件夹
sudo rm -rf /var/lib/postgresql/ sudo rm -rf /var/log/postgresql/ sudo rm -rf /etc/postgresql/
删除 postgres 用户:
sudo deluser postgres
答案3
在终端中完全删除 postgresql 的一个命令是sudo apt-get --purge remove postgresql\*
。请注意,此命令将删除 postgresql 及其所有组件。
答案4
感谢Code Friendly
,我想分享我如何解决我的问题。
当我postgresql
从 Synaptic 应用程序更新时,安装的是 postgresql 10 版本。因此,我的 debian 机器上安装了两个版本的 postgresql(10 和 9.6)。Postgresql 9.6
监听端口5432
。Postgresql 10
监听端口5433
而不是 5432。
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?
我从 Synaptic 应用程序中卸载了 9.6 postgresql 版本,但问题仍然存在(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) 个版本的 Ruby,版本 (2.2 和 2.3)。
同样的事情,我从 synaptic 应用程序中卸载 ruby 2.2 版本,问题得到解决,metasploit 启动没有问题。