由于 postgresql 错误,apt-get 在 Ubuntu 上的所有操作都失败 - 如何修复?

由于 postgresql 错误,apt-get 在 Ubuntu 上的所有操作都失败 - 如何修复?

我有一台服务器上运行着 zoneminder、mysql、ffserver 和一些 ffmpeg 实例,但是出于某种原因,一切似乎都与 PostgreSQL 绑定。我在加载 zoneminder 查看器时注意到一个错误,说它无法连接到 mysql。我检查了 mysql 并发现它没有创建套接字,使用 sudo start mysql 会产生服务无法启动的错误,并且日志中没有任何内容(即使手动指定要使用的日志文件)。我尝试使用 sudo apt-get remove mysql-server 重新安装 mysql,并出现一条错误消息,说它无法启动 PostgreSQL 服务器(日志中也没有任何内容)。尝试使用 sudo apt-get remove postgresql 卸载 postgresql,但出现同样的错误。

所以我的问题是,为什么一切似乎都与机器上的 PostgreSQL 绑定在一起,为什么我不能删除它?我正在尝试启动并运行 MySQL 服务器,但是每次我尝试访问 PostgreSQL 时,apt-get 都会失败。

$ sudo apt-get purge postgresql
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package postgresql is not installed, so not removed
The following packages were automatically installed and are no longer required:
  libmime-types-perl libyaml-syck-perl unzip php5 libavfilter2 libarchive-zip-perl libmime-tools-perl libdate-manip-perl
  libavdevice53 linux-headers-3.5.0-25-generic libsys-mmap-perl linux-headers-3.5.0-23-generic linux-headers-3.5.0-23
  linux-headers-3.5.0-25 libraw1394-11 libphp-serialization-perl libemail-date-format-perl libdc1394-22 zip
  libdevice-serialport-perl libconvert-binhex-perl libmime-lite-perl libjs-mootools
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 18 not upgraded.
2 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up postgresql-9.1 (9.1.9-0ubuntu12.04) ...
 * Starting PostgreSQL 9.1 database server
 * The PostgreSQL server failed to start. Please check the log output.
                                                                                                                           [fail]
invoke-rc.d: initscript postgresql, action "start" failed.
dpkg: error processing postgresql-9.1 (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of postgresql-contrib-9.1:
 postgresql-contrib-9.1 depends on postgresql-9.1 (= 9.1.9-0ubuntu12.04); however:
  Package postgresql-9.1 is not configured yet.
dpkg: error processing postgresql-contrib-9.1 (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
                                                                                                          Errors were encountered while processing:
 postgresql-9.1
 postgresql-contrib-9.1
E: Sub-process /usr/bin/dpkg returned an error code (1)

编辑:我发现了这个问题:Zoneminder 占满了所有 8TB 的磁盘空间。如果有人知道的话,我还是很好奇为什么 apt-get 需要 postgresql。

答案1

您的 PostgreSQL 安装或卸载未完成。apt将尝试在执行您请求的任务之前完成所有未完成的安装/卸载,如果无法完成中断的任务,则会失败。

您将发现它还apt-get -f install尝试对 Pg 执行某些操作。这是因为您的 Pg 安装不完整或已损坏,它apt正在尝试进入正常状态,以便可以继续执行其他任务。

您需要修复 PostgreSQL 包。在这种情况下,我建议查看 PostgreSQL 日志,或者(如果您不使用它)尝试卸载 Pg。

相关内容